Skip to main content
Próxima versión — Zylon 1.58Esta documentación se publica antes del lanzamiento para que puedas preparar tus integraciones de API. La imagen de la versión todavía no está disponible. Para instalaciones con 1.57, consulta la documentación de 1.57.
Los chats en la Workspace API se organizan alrededor de hilos e interacciones: 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.
En 1.58, created_by.id identifica una cuenta, no un miembro del espacio de trabajo. Ambos IDs son UUIDs. Actualiza las comparaciones y busquedas guardadas; consulta la migracion de IDs de cuenta.

Solicitud básica y respuesta

Crea una interaccion con POST /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.
El stream siguiente esta abreviado. Lee el evento inicial interaction para obtener el ID de la interaccion guardada y procesa los eventos de mensaje hasta done.

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

Usa artifacts 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.
No combines 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.
Los artefactos de organizacion disponibles se incluyen por defecto en cada categoria sin una entrada explicita 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 en pgpt.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 interacción con imagen + texto y flags de ejecución:
  • 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:
Listar hilos:

Campos de respuesta del hilo

Crear, consultar, actualizar y eliminar devuelven este modelo de hilo con 200. 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:
Esta operacion devuelve 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

Devuelve el modelo de respuesta de hilo anterior. Las relaciones include estan disponibles en la lista del proyecto, no en este endpoint de detalle.

Actualizar o eliminar un hilo

PUT devuelve el hilo actualizado; DELETE lo elimina de forma logica y devuelve el hilo con state: "Deleted". Ambos devuelven 200 JSON.
Eliminar un hilo:

Listar u obtener interacciones

Listar interacciones de un hilo:
Obtener una interacción:

Eliminar o hacer streaming de una interacción

Cancelar una interacción en ejecución:
Eliminar una interacción:
Streaming:
El stream siguiente esta abreviado. Lee el evento inicial interaction para obtener el ID de la interaccion guardada y procesa los eventos de mensaje hasta done.

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. Envia x-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

Devuelve 200 con metadatos de archivo. La ausencia de file en multipart devuelve 400.

Guardar bytes de archivo

Devuelve 200 con metadatos de archivo. Crea las carpetas padre y sobrescribe una clave existente.

Descargar un archivo del hilo

Devuelve 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

Devuelve 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

Devuelve 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.

Chat puntual

El endpoint actual devuelve 200 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.
Consume los eventos de mensaje hasta 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.

Validar un chat

Devuelve 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.

Herramientas disponibles

Solo se aceptan herramientas definidas por Zylon en pgpt.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 error y el evento final done despues de iniciar el stream HTTP.
  • 404: hilo o interacción no encontrada.
  • 409: interacción ya completada al cancelar.