# Lelemon API > La superficie que Lelemon expone para que otro sistema la use, con una credencial de organizacion. Usa esta documentacion para integrar un sistema con la API de Lelemon o para operar agentes conversacionales de Lelemon desde otro agente de IA. Las guias explican cada flujo de punta a punta; el contrato OpenAPI en https://docs.lelemon.cl/openapi.json es la fuente de verdad de los campos, los cuerpos y los errores: si una guia y el contrato se contradicen, manda el contrato. Base de la API: https://api.lelemon.cl. Todos los pedidos llevan la credencial de organizacion en la cabecera Authorization: Bearer lel__. La credencial tiene alcances y cada ruta declara en el contrato cuales exige. Rutas disponibles (metodo, ruta y para que sirve): - POST /v1/external/conversations/{id}/resolve: Avisar que un escalamiento se resolvio - POST /v1/external/conversations/{id}/send: Mandar un mensaje a la persona de una conversacion, sin que corra el agente - GET /v1/external/conversations/{id}: Ver el estado de una conversacion - GET /v1/external/conversations/{id}/historial: Ver las conversaciones anteriores de la misma persona - PUT /v1/external/conversations/{id}/campos: Escribir en el caso los datos que ya tiene tu sistema - POST /v1/external/conversations/{id}/derivar: Mandar el caso a otro embudo - POST /v1/external/conversations/{id}/notas: Dejar una nota interna en el chat de una conversacion - POST /v1/external/agents/{slug}/conversations: Abrir una conversacion con un agente - POST /v1/external/conversations/{id}/messages: Mandar un mensaje y recibir la respuesta - GET /v1/external/conversations/{id}/messages: Leer los mensajes de una conversacion - PUT /v1/external/knowledge/documents: Crear o reemplazar un documento de conocimiento - POST /v1/external/knowledge/collections: Crear una coleccion de conocimiento, o recuperar la que ya existe - GET /v1/external/knowledge/collections: Listar las colecciones de conocimiento - GET /v1/external/knowledge/collections/{collectionId}/documents: Listar los documentos de una coleccion - DELETE /v1/external/knowledge/documents/{documentId}: Borrar un documento y sacarlo del indice - PUT /v1/external/agents/{agentId}/knowledge/{collectionId}: Asignarle una coleccion a un agente - DELETE /v1/external/agents/{agentId}/knowledge/{collectionId}: Quitarle una coleccion a un agente - GET /v1/external/agent-templates: Listar las plantillas de agente disponibles - POST /v1/external/agent-templates/{templateId}/instantiate: Crear un agente a partir de una plantilla - POST /v1/external/agents/{agentId}/template: Sacarle una plantilla a un agente que ya anda - POST /v1/external/agents/{agentId}/activate: Activar un agente - POST /v1/external/agents/{agentId}/pause: Pausar un agente - GET /v1/external/agents: Listar los agentes de la organizacion - GET /v1/external/agents/{agentId}: Leer un agente entero - PATCH /v1/external/agents/{agentId}: Cambiar la configuracion de un agente - GET /v1/external/agents/{agentId}/prompt-versions: El historial de instrucciones del agente - POST /v1/external/agents/{agentId}/prompt-versions/{versionId}/restore: Volver a una version anterior del prompt - GET /v1/external/actions/authorization: El texto de autorizacion que hay que aceptar, y su version - POST /v1/external/actions: Registrar una accion HTTP - GET /v1/external/actions: Las acciones HTTP de tu organizacion - DELETE /v1/external/actions/{slug}: Dar de baja una accion HTTP - GET /v1/external/agents/{agentId}/actions: Que acciones alcanza un agente y cuales tiene prendidas - PUT /v1/external/agents/{agentId}/actions/{slug}: Concederle una accion a un agente - DELETE /v1/external/agents/{agentId}/actions/{slug}: Quitarle una accion a un agente - POST /v1/external/events: Reportar un hecho de tu sistema - POST /v1/external/triggers: Crear un trigger - GET /v1/external/triggers: Listar los triggers de la organizacion - PATCH /v1/external/triggers/{id}: Editar o pausar un trigger - POST /v1/external/agents/{slug}/runs: Encargarle un trabajo a un agente - GET /v1/external/runs/{id}: Ver en que va una corrida - POST /v1/external/runs/{id}/cancel: Cancelar una corrida - POST /v1/external/runs/{id}/answer: Responderle a una corrida que pregunto algo - GET /v1/external/scheduling/agendas: Ver que agendas hay - GET /v1/external/scheduling/availability: Ver los horarios libres de una agenda - POST /v1/external/scheduling/meetings: Reservar un horario - GET /v1/external/pipelines: Listar los embudos de la organizacion - GET /v1/external/pipelines/{id}: Leer un embudo entero, con sus etapas y sus campos - PUT /v1/external/pipelines/{id}/fields/options: Reemplazar las opciones de los campos de lista de un embudo - GET /v1/external/pipelines/{id}/respuestas-rapidas: Leer las respuestas rapidas de un embudo - PUT /v1/external/pipelines/{id}/respuestas-rapidas: Reemplazar las respuestas rapidas de un embudo - POST /v1/external/agents/{agentSlug}/skills: Crear una skill y asignarsela a un agente - GET /v1/external/agents/{agentSlug}/skills: Listar las skills de un agente - GET /v1/external/agents/{agentSlug}/skills/{skillSlug}: Leer una skill, con su contenido - PATCH /v1/external/agents/{agentSlug}/skills/{skillSlug}: Editar una skill - DELETE /v1/external/agents/{agentSlug}/skills/{skillSlug}: Borrar una skill - GET /v1/external/metrics/conversations: Métricas por conversación, de las que cambiaron en un rango - GET /v1/external/conversations/{id}/adjuntos: Listar los archivos de una conversacion, con su descarga - GET /v1/external/miembros/disponibilidad: Ver si una persona del equipo esta disponible - PUT /v1/external/miembros/disponibilidad: Poner a una persona del equipo disponible o ausente ## Documentation - [Que el agente escriba primero](/guias/lelemon-api-triggers.md): Un agente contesta cuando le escriben. Con un trigger, además **empieza la conversación**: tu sistema avisa que pasó algo y el agente le escribe a esa persona. - [Métricas de las conversaciones para tu bodega de datos](/guias/lelemon-api-metricas.md): Una fila por conversación con sus tiempos: cuándo entró, cuándo el agente la derivó a una persona, cuándo alguien la tomó, cuándo se cerró y quién la cerró. Sirve para llevarlas cada hora a BigQuery u otra bodega y medir ahí cuántas resuelve el agente solo, cuántas pasan a una persona y cuánto esperan. - [Mandarle un mensaje a una persona desde tu sistema](/guias/lelemon-api-mensajes.md): Tu sistema escribe en una conversación que ya existe, por el mismo canal en que la persona habla con nosotros, sin que corra el agente. Sirve para una encuesta de satisfacción cuando el caso llega a su etapa de cierre, o para responderle desde tu mesa de soporte a alguien cuyo caso ya está escalado, sin copiar y pegar en la bandeja. - [Inventariar los agentes de Lelemon para una auditoría](/guias/lelemon-api-inventario.md): Documento para el equipo de cumplimiento o de tecnología que tiene que armar, y mantener al día, el inventario de los agentes de Lelemon de su organización: qué agentes hay, cómo están configurados y, sobre todo, **a qué terceros viajan los datos de las personas que atienden**. Sirve, por ejemplo, para alimentar el registro de actividades de tratamiento (Ley 21.719). Alcanza para implementarlo sin preguntarnos nada. - [Recibir avisos de Lelemon y resolver escalamientos desde otra aplicación](/guias/lelemon-api-externa.md): Documento para el equipo que va a escribir la integración. Describe las dos mitades —los avisos que les mandamos por webhook y cómo nos cuentan que resolvieron un escalamiento— y alcanza para implementar el lado de ustedes sin preguntarnos nada. - [Poner a una persona del equipo disponible o ausente desde tu sistema](/guias/lelemon-api-disponibilidad.md): Tu sistema cambia si una persona de tu equipo recibe casos nuevos. Sirve cuando los turnos viven en otro lado: al salir de turno la pones `ausente` y el reparto deja de asignarle casos, sin que ella apriete su botón. - [Mantener al día lo que el agente sabe](/guias/lelemon-api-conocimiento.md): Guía para empujar documentos a una colección de conocimiento desde un sistema propio, con una credencial de organización. Sirve para un flujo de n8n, para una GitHub Action, o para cualquier cosa que sepa hacer un `PUT`. - [Mantener el catálogo de un campo de lista desde una planilla](/guias/lelemon-api-catalogos.md): Tu sistema reemplaza las opciones de los campos de lista de un embudo. Sirve cuando el catálogo vive en otro lado —una hoja de cálculo, tu ERP, tu base de productos— y cambia seguido: en vez de cargarlo a mano en la pantalla, lo sincronizas. - [Crear un agente sin entrar a la pantalla](/guias/lelemon-api-aprovisionar.md): Guía para aprovisionar agentes desde un sistema propio, con una credencial de organización. Sirve para un flujo de n8n, para un guion de onboarding, o para cualquier cosa que sepa hacer un `POST`. - [Hablarle a un agente de Lelemon desde otra aplicación](/guias/lelemon-api-agentes.md): Documento para el equipo que va a escribir la integración. Describe los tres endpoints con los que una aplicación externa le delega una conversación a un agente de Lelemon y alcanza para implementar el lado de ustedes sin preguntarnos nada. - [Agendar en tu propia pantalla](/guias/lelemon-api-agenda.md): Tu sistema muestra los horarios libres de tu equipo y deja que la persona elija uno, sin salir de tu aplicación. La reunión queda en Google Calendar con su link de videollamada, y la invitación le llega sola a quien agendó. - [Darle acciones a un agente de Lelemon desde otra aplicación](/guias/lelemon-api-acciones.md): Documento para el equipo que va a escribir la integración. Describe cómo registrar una acción HTTP —una llamada a un sistema de ustedes que el agente puede hacer en medio de una conversación— y cómo concedérsela o quitársela a un agente. Alcanza para implementar el lado de ustedes sin preguntarnos nada. - [Documentación de la API](/index.md): La superficie que Lelemon expone para que otro sistema, o un agente de IA, opere sus agentes conversacionales con una credencial de organización.