---
title: "Reabrir conversación"
method: POST
path: "/v1/conversations/{conversationId}/open"
tags: ["Conversations"]
---

# Reabrir conversación

`POST /v1/conversations/{conversationId}/open`

Reabre una conversación cerrada (status → ACTIVE).

## Path parameters

- `conversationId` string, required

## Response `200`

Conversación reabierta

- Conversation — Una conversación del inbox: un hilo de mensajes con un visitante por un canal (Web, WhatsApp, Facebook o Instagram). Concentra el estado de gestión (etapa, asignación, intervención, etiquetas, valor monetario). Para construir reportes del inbox ver la guía "Inbox: datos y conceptos".
  - `id` string
  - `channelId` string — ID del canal donde ocurre la conversación.
  - `companyId` string — ID de la empresa dueña de la conversación.
  - `contactId` string — ID del contacto asociado a la conversación. Usalo para traer datos que viven en el contacto y no en la conversación — en particular la **puntuación de lead** (`rating`, estrellas 1–5) vía `GET /v1/contacts`.
  - `channel` 'FACEBOOK' | 'WEB' | 'WHATSAPP' | 'INSTAGRAM' — Canal de comunicación de una conversación (por dónde llegó el contacto). **No confundir** con `ChannelSite.type`: acá `WHATSAPP` describe el canal de la conversación, mientras que en la configuración del canal/sitio el mismo canal aparece como `WHATSAPP_API` o `WHATSAPP_BUSINESS` según la integración. Son campos y vocabularios distintos.
  - `status` 'ACTIVE' | 'CLOSED' | 'AWAY' | 'INACTIVE' | 'FINALIZED' — Estado de la conversación. `ACTIVE` (abierta), `CLOSED`/`FINALIZED` (cerrada), `AWAY` (sin actividad reciente), `INACTIVE` (inactiva). Para filtrar el listado usá el parámetro `status` con los valores `opened`/`closed`/`inactive`.
  - `lastMessage` string
  - `lastMessageAt` string, date-time
  - `visitorName` string
  - `visitorEmail` string
  - `visitorPhone` string
  - `participants` Participant[] — Participantes de la conversación (visitante, agentes humanos y/o bot), cada uno con la fecha de su primer y último mensaje. Es la fuente para construir métricas de asignación e intervención (ver descripción de `assignedTo`, `preAssigned` y `persistentLastOperator`).
    - `id` string — ID del participante (id del operador/visitante).
    - `name` string — Nombre del participante.
    - `type` 'robot' | 'visitor' | 'user' | 'externalOperator' | 'external_operator' — Tipo de participante. Los humanos son `user` (operador interno) y `externalOperator` (operador externo); `robot` es el chatbot y `visitor` el contacto. **Nota de casing:** `external_operator` (snake_case) es un **alias legacy deprecado** de `externalOperator`; algunos registros históricos aún lo traen. Tratá ambos como el mismo valor; en integraciones nuevas usá `externalOperator`.
    - `addedAt` string, date-time — Fecha en que el participante se sumó a la conversación.
    - `firstMessageAt` string, date-time — Fecha y hora del primer mensaje de este participante. Para un participante humano (`user`/`externalOperator`) representa la **fecha y hora de intervención humana**.
    - `lastMessageAt` string, date-time — Fecha y hora del último mensaje de este participante. Para el agente que intervino representa la **fecha y hora del último mensaje del agente**.
  - `assignedTo` string — ID del agente actualmente asignado a la conversación. Vacío si nadie la tiene asignada.
  - `preAssigned` string — ID del agente pre-asignado (asignación automática por reparto/round-robin antes de que el agente intervenga). Para filtrar conversaciones asignadas a un agente usá el parámetro `preAssigned` del listado.
  - `persistentLastOperator` string — ID del último agente humano que **intervino** la conversación (envió al menos un mensaje). Vacío si nunca intervino un humano (conversación solo atendida por el bot). Para filtrar por intervención usá el parámetro `agent` o `condition` del listado.
  - `utmSource` string — Fuente de la campaña (UTM source). Filtrable con el parámetro `utmSource`.
  - `utmMedium` string — Medio de la campaña (UTM medium). Filtrable con el parámetro `utmMedium`.
  - `utmCampaign` string — Nombre de la campaña (UTM campaign). Filtrable con el parámetro `utmCampaign`.
  - `gaClientId` string — Google Analytics Client ID asociado a la conversación.
  - `phaseId` string — ID de la **etapa de inbox** (fase del pipeline) en la que está la conversación. Es un ID, no el nombre: resolvé el nombre legible (ej. "Nuevos", "Cotizados", "Pedidos") con `GET /v1/phases`. Para filtrar el listado por etapa usá el parámetro `phase`.
  - `amount` number — **Valor monetario** de la conversación/negocio cargado en el inbox (monto del lead). `null` o `0` si no se cargó un valor. Útil para reportes de ingresos por etapa.
  - `type` string — Tipo de negocio/oportunidad asociado a la conversación (si aplica).
  - `operatorTags` ConversationTag[] — Etiquetas **estructuradas** de la conversación, cada una con su origen (`source`). Es la forma **recomendada** de analizar etiquetas: distingue las puestas por un agente humano (`human`), por el flujo del chatbot (`chatbot`) o por la IA (`ai`), y no incluye las etiquetas internas/sistémicas de Cliengo. Preferila sobre `tags`.
    - `tagName` string — Nombre de la etiqueta.
    - `source` 'human' | 'chatbot' | 'ai' — Origen de la etiqueta: `human` (puesta por un agente), `chatbot` (por el flujo del bot) o `ai` (auto-etiquetado por IA).
    - `additionDate` string, date-time — Fecha en que se aplicó la etiqueta.
    - `creatorUserId` string — ID del usuario que la aplicó (cuando `source` es `human`).
  - `tags` string[] — Etiquetas en formato plano (legacy). **Mezcla etiquetas de negocio con etiquetas internas/sistémicas de Cliengo** (ej. `posted_email`, `posted_phone`, `fired_new_lead`, `is_intervened`, `was_intervened`, `external_robot`, `automatic_transfer`, `post_lead`, `no_lead`). Si la usás, filtrá las internas (prefijos `posted_`/`fired_` y esos flags); para análisis de etiquetas conviene usar `operatorTags`. Puede venir como arreglo de strings; valídalo antes de iterar.
  - `closed` boolean — Atajo booleano para saber si la conversación está cerrada (equivale a `status` cerrado).
  - `createdAt` string, date-time — Fecha de creación de la conversación.

---

[API](https://skmtc.net/cliengo/apis/cliengo-public-api.md) · [All operations](https://skmtc.net/cliengo/apis/cliengo-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cliengo/cliengo-public-api/versions/94c7ba7d6a11/schema)
