Reference

Contrato de la API REST externa de Autoworker Hub

Grupos de endpoints REST para clientes, autenticación, convenciones de respuesta y finalidad de los endpoints.

Autoworker Hub expone una API HTTP para administrar tenants alojados de trabajadores de IA, sus ejecuciones, almacenamiento compartido, skills, trabajos cron, credenciales y política del operador.

Este documento describe el contrato orientado al cliente. Omite de forma intencional los aspectos internos del despliegue del host y los detalles privados de implementación del runtime.

URL base

Use la URL del Hub proporcionada por su operador:

https://<hub-host>

Todos los endpoints de administración tienen su raíz en /v1, salvo que se indique lo contrario.

Autenticación

Los endpoints de administración requieren:

Authorization: Bearer <token>

Los endpoints de webhook usan el esquema de verificación del proveedor ascendente correspondiente. Los endpoints de callback del runtime del tenant son privados para los runtimes de los tenants y no son API generales para clientes.

Formato de respuesta

Las respuestas correctas son JSON, salvo que un endpoint transmita eventos o descargue bytes de archivos de forma explícita.

Los errores usan JSON de tipo problema con campos estables como:

{
  "code": "invalid_argument",
  "message": "detalle legible para una persona",
  "status": 400
}

Endpoints principales

Estado y metadatos

MétodoRutaPropósito
GET/v1/healthzComprobación de actividad.
GET/v1/readyzComprobación de disponibilidad.
GET/v1/versionVersión del Hub y metadatos del runtime.

Tenants

MétodoRutaPropósito
GET/v1/tenantsLista los tenants.
POST/v1/tenantsCrea y aprovisiona un tenant.
GET/v1/tenants/{tenantId}Obtiene un tenant.
PATCH/v1/tenants/{tenantId}Actualiza los metadatos y los ajustes deseados de un tenant.
DELETE/v1/tenants/{tenantId}Elimina un tenant.
GET/v1/tenants/{tenantId}/accessLee el estado de acceso de un tenant.
PUT/v1/tenants/{tenantId}/accessEstablece el estado de acceso de un tenant.

Los identificadores de tenant son identificadores de ruta. Trátelos como cadenas opacas que deben cumplir las reglas de validación de la API.

Ciclo de vida del agente del tenant

MétodoRutaPropósito
GET/v1/tenants/{tenantId}/agentObtiene el estado actual del agente del tenant.
POST/v1/tenants/{tenantId}/agent/startInicia o activa el agente del tenant.
POST/v1/tenants/{tenantId}/agent/stopDetiene el agente del tenant.
POST/v1/tenants/{tenantId}/agent/restartReinicia el agente del tenant.
GET/v1/tenants/{tenantId}/agent-cardDevuelve la Agent Card A2A pública del tenant.

Ejecuciones y eventos

MétodoRutaPropósito
POST/v1/tenants/{tenantId}/runsInicia una ejecución de un trabajador de IA administrado.
GET/v1/tenants/{tenantId}/runs/{runId}Obtiene el estado y los metadatos de una ejecución.
GET/v1/tenants/{tenantId}/runs/{runId}/eventsTransmite los eventos de una ejecución.
POST/v1/tenants/{tenantId}/runs/{runId}/stopDetiene una ejecución en curso.
POST/v1/tenants/{tenantId}/runs/{runId}/approvalResuelve una aprobación de ejecución pendiente.

Los flujos de eventos de ejecución son respuestas de larga duración. Los clientes deben gestionar las reconexiones y los estados terminales de las ejecuciones.

Archivos del tenant

MétodoRutaPropósito
GET/v1/tenants/{tenantId}/filesLista las raíces y los directorios de archivos visibles para el tenant.
GET/v1/tenants/{tenantId}/files/contentLee contenido de archivo que admite vista previa de texto.
GET/v1/tenants/{tenantId}/files/downloadDescarga un archivo visible para el tenant.
GET/v1/tenants/{tenantId}/runtime-inspectionInspecciona las rutas resueltas del runtime del tenant y el entorno sin secretos.

Solo se exponen las raíces visibles para el tenant. Los secretos, el estado privado del runtime y las áreas privadas de otros tenants no forman parte de la API de archivos.

Claves del entorno del tenant

MétodoRutaPropósito
GET/v1/tenants/{tenantId}/envLista los nombres y metadatos de las claves de entorno delimitadas por tenant.
PUT/v1/tenants/{tenantId}/env/{name}Establece una clave aceptada delimitada por tenant.
DELETE/v1/tenants/{tenantId}/env/{name}Elimina una clave delimitada por tenant.

Solo se pueden establecer nombres aceptados, delimitados por tenant y con formato de secreto. Las claves del runtime administradas por el Hub están reservadas.

Skills

MétodoRutaPropósito
GET/v1/tenants/{tenantId}/skillsLista las skills instaladas del tenant.
GET/v1/tenants/{tenantId}/skills/{category}/{skill}/filesLista los archivos de una skill.
GET/v1/tenants/{tenantId}/skill-files/{skillPath}Lee un archivo de una skill.
PUT/v1/tenants/{tenantId}/skills/{skillName}/stateEstablece el estado habilitado o deshabilitado de una skill.

Cron del agente

MétodoRutaPropósito
GET/v1/tenants/{tenantId}/agent-cronLista los trabajos cron del agente del tenant.
POST/v1/tenants/{tenantId}/agent-cronCrea un trabajo cron del agente.
GET/v1/tenants/{tenantId}/agent-cron/{jobId}Obtiene un trabajo cron.
PATCH/v1/tenants/{tenantId}/agent-cron/{jobId}Actualiza un trabajo cron.
DELETE/v1/tenants/{tenantId}/agent-cron/{jobId}Elimina un trabajo cron.
POST/v1/tenants/{tenantId}/agent-cron/{jobId}/pausePausa un trabajo cron.
POST/v1/tenants/{tenantId}/agent-cron/{jobId}/resumeReanuda un trabajo cron.
POST/v1/tenants/{tenantId}/agent-cron/{jobId}/runActiva de inmediato un trabajo cron.

El esquema de los trabajos cron pertenece al runtime del agente del tenant. El Hub transmite las definiciones de los trabajos y devuelve la respuesta del runtime.

Grupos compartidos y archivos compartidos

MétodoRutaPropósito
GET/v1/share-groupsLista los grupos compartidos.
POST/v1/share-groupsCrea un grupo compartido.
GET/v1/share-groups/{groupId}Obtiene un grupo compartido.
PATCH/v1/share-groups/{groupId}Actualiza un grupo compartido.
DELETE/v1/share-groups/{groupId}Elimina un grupo compartido.
PUT/v1/share-groups/{groupId}/members/{tenantId}Establece el acceso de un miembro.
DELETE/v1/share-groups/{groupId}/members/{tenantId}Elimina un miembro.
GET/v1/tenants/{tenantId}/sharesLista los recursos compartidos visibles para un tenant.

Las operaciones con archivos compartidos están delimitadas por tenant y grupo compartido:

/v1/tenants/{tenantId}/shares/{groupId}/list
/v1/tenants/{tenantId}/shares/{groupId}/read
/v1/tenants/{tenantId}/shares/{groupId}/stat
/v1/tenants/{tenantId}/shares/{groupId}/grep
/v1/tenants/{tenantId}/shares/{groupId}/find
/v1/tenants/{tenantId}/shares/{groupId}/write
/v1/tenants/{tenantId}/shares/{groupId}/mkdir
/v1/tenants/{tenantId}/shares/{groupId}/move
/v1/tenants/{tenantId}/shares/{groupId}/remove

Las operaciones de lectura requieren pertenecer al recurso compartido. Las operaciones de modificación requieren acceso de escritura a ese recurso.

Superficies A2A en el borde

MétodoRutaPropósito
POST/a2a/{tenantId}Endpoint A2A del tenant.
GET/a2a/{tenantId}/.well-known/agent.jsonMetadatos públicos del agente.
GET/a2a/{tenantId}/.well-known/agent-card.jsonAgent Card pública.
GET/v1/tenants/{tenantId}/a2a-peersLista los pares presentados.
POST/v1/tenants/{tenantId}/a2a-peersPresenta un par.
GET/v1/tenants/{tenantId}/a2a-peers/{peerId}Obtiene un par.
DELETE/v1/tenants/{tenantId}/a2a-peers/{peerId}Elimina un par.
POST/a2a/callbacks/{messageId}Acepta una actualización asíncrona de Task de un par autenticada mediante capacidad.
GET/v1/peer-callback-outbox/metricsDevuelve métricas agregadas y duraderas de entrega de callbacks.

Las respuestas asíncronas de pares usan la configuración de notificaciones push A2A y una capacidad de callback por mensaje, no el bearer de control del Hub. Las actualizaciones de Task completadas, fallidas y canceladas se confirman de forma duradera antes del acuse de recibo. Los duplicados terminales exactos son idempotentes; se rechazan las transiciones en conflicto. Los fallos transitorios de callback se reintentan durante un máximo de 24 horas y persisten tras reinicios del Hub.

Credenciales y secretos

MétodoRutaPropósito
GET/v1/tenants/{tenantId}/a2a-credentialsDevuelve las credenciales A2A del tenant.
GET/v1/tenants/{tenantId}/api-credentialsDevuelve las credenciales de API delimitadas por tenant.
POST/v1/tenants/{tenantId}/api-credentials/rotateRota las credenciales de API delimitadas por tenant.
GET/v1/secretsLista los metadatos de secretos administrados.
POST/v1/secretsRegistra un secreto administrado sin devolver su contenido.
GET/v1/secrets/{secretId}Devuelve los metadatos de un secreto administrado.
DELETE/v1/secrets/{secretId}Elimina los metadatos y el contenido de un secreto administrado.
POST/v1/secrets/{secretId}:replace-materialSustituye el contenido de solo escritura de un secreto.
POST/v1/secrets/{secretId}:refreshActualiza un secreto OAuth2.
POST/v1/secrets/{secretId}:rotateRota un secreto administrado de clave de API.
POST/v1/secrets:refresh-dueActualiza todos los secretos OAuth2 que correspondan.

El contenido de los secretos es de solo escritura. Las API de lectura solo devuelven metadatos y estado.

Flavors, versiones y evaluaciones

MétodoRutaPropósito
GET/v1/hermes-agent/releasesLista las versiones instaladas del agente.
POST/v1/hermes-agent/releasesRegistra o instala una versión.
GET/v1/hermes-agent/releases/{releaseId}Obtiene una versión.
DELETE/v1/hermes-agent/releases/{releaseId}Elimina una versión inactiva y sin usar.
POST/v1/hermes-agent/releases/{releaseId}:activatePromueve una versión.
GET/v1/flavorsLista el catálogo de flavors.
POST/v1/flavorsInstala un paquete de flavor.
GET/v1/flavors/{flavorId}Obtiene una ficha del catálogo de flavors.
GET/v1/flavors/{flavorId}/versions/{flavorVersion}Obtiene una versión de flavor.
DELETE/v1/flavors/{flavorId}/versions/{flavorVersion}Elimina una versión de flavor sin usar.
GET/v1/flavors/{flavorId}/versions/{flavorVersion}/contentsDevuelve el contenido renderizable de un flavor.
GET/v1/flavors/{flavorId}/versions/{flavorVersion}/eval-suitesLista los conjuntos de evaluación de un flavor.
POST/v1/flavors/{flavorId}/versions/{flavorVersion}/eval-runsInicia una ejecución de evaluación.
POST/v1/flavors/{flavorId}/versions/{flavorVersion}:deprecateMarca como obsoleta una versión de flavor.
GET/v1/eval-runsLista las ejecuciones de evaluación.
GET/v1/eval-runs/{evalRunId}Obtiene una ejecución de evaluación.
POST/v1/eval-runs/{evalRunId}:cancelCancela una ejecución de evaluación.

Política y configuración

MétodoRutaPropósito
GET/v1/agent-policyDevuelve la política de agentes para todo el Hub.
PUT/v1/agent-policySustituye la política de agentes para todo el Hub.
GET/v1/agent-featuresLista las funciones conocidas de los agentes.
GET/v1/agent-specializationObtiene la especialización predeterminada de los agentes alojados.
PUT/v1/agent-specializationSustituye la especialización predeterminada.
DELETE/v1/agent-specializationDeshabilita la especialización predeterminada.
GET/v1/tenants/{tenantId}/agent-policyObtiene la política efectiva y la anulación de un tenant.
PUT/v1/tenants/{tenantId}/agent-policySustituye la anulación de la política de un tenant.
DELETE/v1/tenants/{tenantId}/agent-policyElimina la anulación de la política de un tenant.
GET/v1/config/tenant-impactDevuelve la vista de configuración con impacto en los tenants.
PATCH/v1/config/tenant-impactPrepara cambios de configuración con impacto en los tenants.
POST/v1/config/tenant-impact:applyAplica los cambios de configuración preparados.

Métricas y claves empresariales

MétodoRutaPropósito
GET/v1/metrics/runsLista las métricas de ejecuciones.
GET/v1/metrics/runs/{runId}Obtiene una ficha de métricas de una ejecución.
GET/v1/metrics/schedulesLista las métricas de las programaciones.
GET/v1/metrics/usage/aggregateAgrega las métricas de uso.
GET/v1/admin/business-keysLista las claves empresariales.
POST/v1/admin/business-keysCrea una clave empresarial.
DELETE/v1/admin/business-keys/{businessKeyId}Elimina una clave empresarial.

Webhooks

MétodoRutaPropósito
POST/webhooks/telegramEventos de mensajes de la API de bots de Telegram.

Los cuerpos de los webhooks los define el proveedor.

Endpoints de callback del runtime no destinados a clientes

Las rutas bajo /v1/tenant-runtime/{tenantId}/... están reservadas para callbacks del runtime del tenant y para el proxy del runtime administrado por el Hub. Los clientes externos no deben llamarlas directamente, salvo que implementen un runtime de tenant compatible y tengan la credencial del runtime del tenant.