Usa hilos cuando necesitas historial y seguimiento. Usa interacciones para enviar un nuevo turno a un hilo. Usa el endpoint de chat para solicitudes de un solo turno.
Solicitud básica y respuesta
Crea una interaccion conPOST /api/v1/app/thread/{threadID}/interaction. Envia exactamente un nuevo mensaje de usuario; el servidor incorpora el historial del hilo. La respuesta es 200 SSE con un evento inicial interaction y eventos de mensaje que terminan en done.
Parametros del endpoint
Parametros del endpoint
interaction para obtener el ID de la interaccion guardada y procesa los eventos de mensaje hasta done.
Ejemplo de stream
Ejemplo de stream
Campos de respuesta de interaccion
Los campos nulos pueden omitirse. Los mensajes anidados siguen Messages y las cuentas siguen Miembros del espacio de trabajo.Seleccionar artefactos
Usaartifacts en las solicitudes de interaccion y de chat con envoltorio. Contiene arrays opcionales document, connector, skill y agent_flow. Cada array contiene selecciones por alcance organization o project.
Parametros del endpoint
Parametros del endpoint
all_artifacts: true con un array artifacts_ids no vacio. Cada categoria admite como maximo una entrada por alcance. La seleccion project usa el proyecto del hilo o el project_id del chat con envoltorio; sin contexto de proyecto, all_artifacts para ese alcance no selecciona nada. artifact_ids y all_artifacts en el nivel superior no son el modelo de seleccion actual.
organization. Para excluir ese valor predeterminado de una categoria, envia una entrada de organizacion con all_artifacts: false y artifacts_ids: []. Los archivos disponibles producidos en turnos anteriores del mismo hilo tambien siguen utilizables.
Agregar media al chat
Si el modelo seleccionado soporta entrada multimodal, puedes enviar media enpgpt.messages[].content[] (la misma forma de request usada por interacciones en hilo y por chat de una sola llamada).
Puedes combinar múltiples bloques de contenido en un mismo mensaje. Tipos principales en el esquema:
start_timestamp, stop_timestamp y _meta son opcionales en todos los bloques.
Ejemplo de bloques de contenido
Ejemplo de bloques de contenido
Parametros del endpoint
Parametros del endpoint
system.citations.enabled: pide al modelo incluir referencias/citas cuando estén disponibles.thinking.enabled: activa modo de razonamiento profundo; puede tardar más pero suele mejorar la calidad.
Crear o listar hilos
Crear un hilo en un proyecto:Parametros del endpoint
Parametros del endpoint
Parametros del endpoint
Parametros del endpoint
Ejemplo de respuesta
Ejemplo de respuesta
Campos de respuesta del hilo
Crear, consultar, actualizar y eliminar devuelven este modelo de hilo con200. Las listas de proyecto lo incluyen en el envoltorio de paginacion compartido. Los campos nulos pueden omitirse; las respuestas de hilo no contienen created_at. Los datos de cuenta siguen el modelo de cuenta del miembro.
Consultar
GET /app/thread/{threadID}/interaction avanza el punto de lectura de la cuenta actual hasta las respuestas completadas de la pagina devuelta, o al menos hasta la creacion del hilo si no hay respuestas completadas. Consultar solo el detalle del hilo no marca la conversacion como leida. El estado de lectura es por cuenta.
Crea un hilo y la primera interacción en una sola petición:
Parametros del endpoint
Parametros del endpoint
200 SSE con los IDs de la nueva interaccion y del hilo en el evento inicial interaction, seguido de eventos de mensaje y done. name y visibility pertenecen al cuerpo de creacion de hilo separado y no sustituyen aqui a thread_name, thread_visibility ni pgpt.
Obtener un hilo
Parametros del endpoint
Parametros del endpoint
include estan disponibles en la lista del proyecto, no en este endpoint de detalle.
Actualizar o eliminar un hilo
Parametros del endpoint
Parametros del endpoint
state: "Deleted". Ambos devuelven 200 JSON.
Listar u obtener interacciones
Listar interacciones de un hilo:Parametros del endpoint
Parametros del endpoint
Eliminar o hacer streaming de una interacción
Cancelar una interacción en ejecución:interaction para obtener el ID de la interaccion guardada y procesa los eventos de mensaje hasta done.
Ejemplo de stream
Ejemplo de stream
Archivos del hilo
Los endpoints de archivos usan el hilo como alcance de sesion. La subida y PUT guardan bytes; la conversion exporta o importa contenido MDX de artefactos. Enviax-org y un token API en cada solicitud. La subida, PUT y la exportacion desde un artefacto requieren permiso para actualizar el hilo.
Subir un archivo
Parametros del endpoint
Parametros del endpoint
200 con metadatos de archivo. La ausencia de file en multipart devuelve 400.
Guardar bytes de archivo
Parametros del endpoint
Parametros del endpoint
200 con metadatos de archivo. Crea las carpetas padre y sobrescribe una clave existente.
Descargar un archivo del hilo
Parametros del endpoint
Parametros del endpoint
200 con bytes, tipo MIME inferido y Content-Disposition; no devuelve una URL prefirmada. La configuracion de organizacion puede denegar la descarga con 403: outputs requiere descargas de recursos generados, uploads requiere descargas de recursos subidos y las rutas no reconocidas requieren ambos ajustes.
Convertir un archivo del hilo en artefacto
Parametros del endpoint
Parametros del endpoint
200 con el modelo del artefacto creado o actualizado. El contenido debe ser MDX valido de artefacto; sus metadatos determinan el tipo y las propiedades. Fallan la ausencia de ambos selectores, las rutas no MDX o el MDX invalido. Se aplican los permisos normales de creacion y actualizacion de artefactos.
Convertir un artefacto en archivo del hilo
Parametros del endpoint
Parametros del endpoint
200 con metadatos del archivo MDX exportado. Requiere permiso de lectura del artefacto y las mismas comprobaciones de descarga que el artefacto; las descargas deshabilitadas devuelven 403.
Respuesta de metadatos de archivo
La subida, PUT y la exportacion desde artefacto comparten esta respuesta. Los campos nulos pueden omitirse.Ejemplo de respuesta
Ejemplo de respuesta
Chat puntual
El endpoint actual devuelve200 con Content-Type: text/event-stream, incluso si pgpt.stream es false. No crea un hilo ni una interaccion guardada. Usa el cuerpo con envoltorio para seleccionar un proyecto o artefactos. Se sigue aceptando una solicitud de Messages plana para un chat solo de organizacion.
Parametros del endpoint
Parametros del endpoint
done; esta operacion no emite un evento interaction guardado. La desconexion cancela la solicitud activa. Consulta Messages para los campos anidados de solicitud y respuesta.
Ejemplo de stream
Ejemplo de stream
Validar un chat
Parametros del endpoint
Parametros del endpoint
200 con valid: true, o 400 con valid: false y el resultado de validacion. Los cuerpos invalidos o los fallos anteriores al resultado devuelven un error API estandar. Los campos nulos del resultado pueden omitirse. Esta operacion comprueba el cuerpo de Messages; el contexto de proyecto, las selecciones de artefactos y los permisos de Workspace se comprueban al ejecutar el chat.
Ejemplo de respuesta
Ejemplo de respuesta
Herramientas disponibles
Solo se aceptan herramientas definidas por Zylon enpgpt.tools; estas rutas de chat de Workspace no admiten herramientas personalizadas del cliente. Usa las declaraciones y ejemplos de herramientas. Las herramientas de conocimiento de Workspace tambien incluyen get_knowledge_base_files (list_files_v1), get_artifact_structure (get_file_structure_v1), get_artifact_content (get_content_v1), analyze_artifact (analyze_artifact_v1), summarize_artifact (summarize_artifact_v1) y create_document (process_content_v1).
Errores y casos límite
- 400: esquema invalido, selectores de artefactos invalidos o solicitud sin exactamente un mensaje de usuario (usa
/chat/validate). - 403: acceso al proyecto insuficiente o descargas deshabilitadas por la organizacion.
- Procesa los eventos SSE
errory el evento finaldonedespues de iniciar el stream HTTP. - 404: hilo o interacción no encontrada.
- 409: interacción ya completada al cancelar.