# Revem API > Documentación de la API pública de Revem: contactos, tickets y webchat. - [API de Revem](https://docs.revem.ai/index.md): Integra tu sistema con Revem: sincroniza contactos, gestiona tickets y conecta el chat de tu sitio. - [Guía de integración](https://docs.revem.ai/guia.md): Autenticación, errores, contactos, tickets y webchat en una sola página. - [Listar contactos](https://docs.revem.ai/api-reference/contactos/listar-contactos.md): Devuelve los contactos del tenant, del más reciente al más antiguo según su **fecha de creación**, paginados por `limit` y `offset`. Los contactos en la papelera y los del simulador no aparecen. - [Crear o actualizar un contacto](https://docs.revem.ai/api-reference/contactos/crear-o-actualizar-un-contacto.md): Escribe un contacto identificado por su **teléfono**: si ya existe uno con ese número se actualiza, si no se crea. Una clave ausente deja el valor guardado como está, así que una solicitud parcial es una actualización parcial. - [Obtener un contacto](https://docs.revem.ai/api-reference/contactos/obtener-un-contacto.md): Devuelve un contacto por su id, en la misma forma plana que acepta el upsert. Responde el mismo `404` si el contacto no existe, está en la papelera o pertenece a otro tenant. - [Actualizar un contacto por id](https://docs.revem.ai/api-reference/contactos/actualizar-un-contacto-por-id.md): Actualiza un contacto identificado por el **id** que Revem devolvió, así que aquí `phone_number` es un campo más y cambiarlo mantiene el mismo contacto. Es la ruta para clientes cuyos números cambian: el upsert por teléfono los partiría en dos contactos. - [Listar tickets](https://docs.revem.ai/api-reference/tickets/listar-tickets.md): Devuelve los tickets del tenant paginados por `limit` y `offset`, con filtros combinables. Una API key ve **todos** los tickets del tenant; la visibilidad por dueño o grupo aplica sólo a las personas del equipo. - [Obtener un ticket](https://docs.revem.ai/api-reference/tickets/obtener-un-ticket.md): Devuelve un ticket por su id. - [Actualizar un ticket](https://docs.revem.ai/api-reference/tickets/actualizar-un-ticket.md): Modifica uno o más campos de un ticket. Sólo se tocan las claves presentes en el cuerpo. - [Subir un adjunto](https://docs.revem.ai/api-reference/webchat/subir-un-adjunto.md): Sube un archivo para adjuntarlo después a un mensaje con `POST /webchat/messages`. El cuerpo es `multipart/form-data` con un único archivo; el formato se valida por el `Content-Type` de la parte, no por la extensión del nombre. - [Enviar un mensaje del visitante](https://docs.revem.ai/api-reference/webchat/enviar-un-mensaje-del-visitante.md): Registra un mensaje **entrante** — lo que escribió el visitante en tu sitio — y dispara la atención del equipo o del agente de IA según la configuración del canal. - [Leer los mensajes de una conversación](https://docs.revem.ai/api-reference/webchat/leer-los-mensajes-de-una-conversación.md): Devuelve los mensajes de una conversación, del más reciente al más antiguo, paginados por cursor. Incluye tanto lo que escribió el visitante (`origin: INBOUND`) como las respuestas del equipo o del agente (`origin: OUTBOUND`), así que es la forma de mostrar las respuestas en tu sitio. ## OpenAPI Specs - [openapi](/openapi.json)