Docs de Autonomy
API HTTP v1

Ejecuciones y evidencia externa

Sigue ejecuciones asíncronas, interpreta sus resultados y recupera evidencia segura de corta duración.

run.trigger pone el trabajo en cola y devuelve inmediatamente. Sigue cada runId devuelto con run.get; usa run.evidence cuando necesites los hechos que justifican un resultado.

Seguir una ejecución con un cursor

La primera llamada a run.get solo necesita el id de ejecución:

Codejson
1{2  "runId": "jh7examplerunid"3}

Guarda su cursor numérico. Para esperar un cambio, envía el mismo id de ejecución, ese cursor y waitMs:

Codejson
1{2  "runId": "jh7examplerunid",3  "cursor": 42,4  "waitMs": 250005}

El adaptador HTTP consulta una vez por segundo y responde cuando aumenta el cursor, la ejecución alcanza un estado terminal o vence la espera. waitMs está limitado a 025000 milisegundos; los valores superiores se reducen a 25000. Una respuesta con timedOut: true es un resultado correcto que significa que nada cambió durante la ventana. Repite con el mismo cursor o deja de esperar; no lo trates como un error de la API.

La respuesta también contiene progreso, estado por paso, disponibilidad de evidencia y next. next es una recomendación, nunca la autoridad: decide según status, verdict, validity, el progreso y los pasos.

Estado, veredicto y validez

Son campos independientes. status es el estado de ejecución, verdict es el resultado visible para el cliente cuando existe y validity indica si se pudo evaluar la ejecución.

statusverdictvaliditySignificado
queuedOmitidonot_evaluatedA la espera de comenzar.
runningOmitidonot_evaluatedLa ejecución está en curso.
retryingOmitidonot_evaluatedSe está reintentando y aún no hay resultado final.
passingpassedvalidLa ejecución terminó con un veredicto positivo.
failedfailedvalidLa ejecución terminó y demostró un fallo.
unverifiedunverifiedvalidLa ejecución terminó sin demostrar éxito ni fallo.
canceledunverifiedvalidLa ejecución fue cancelada y no tiene resultado verificado.
invalidunverifiedinvalidLa ejecución no pudo producir una evaluación válida.

passing, failed, unverified, canceled e invalid son estados terminales para la espera larga. next vale wait para queued, running o retrying; retry para invalid; evidence para failed, unverified o una ejecución positiva pero inestable; y none en los demás casos.

Evidencia externa

Llama a POST /api/v1/run.evidence con runId y, opcionalmente, un filtro numérico step. La respuesta contiene el estado, el veredicto y la validez de la ejecución, además de evidencia segura para cada paso incluido:

  • índice del paso, acción creada y objetivo opcional;
  • estado de paso passed, failed o skipped y un motivo;
  • hechos observados, expectativa creada, fuente del veredicto y si se demostró la poscondición;
  • número de recuperaciones y diagnóstico con categoría y acción sugerida;
  • nombres de acciones neutralizados y objetivos;
  • enlaces a captura, frame o vídeo con su caducidad;
  • duración del paso.

La evidencia externa nunca incluye identidad del modelo o proveedor, prompts, tokens o costes, errores sin procesar del runner, nombres de herramientas internas, detalles internos del runner ni árboles de interfaz sin procesar.

Enlaces de medios firmados

Cada medio devuelto por run.evidence incluye una url firmada y expiresAt. La URL llama a:

Codetext
GET /api/v1/evidence/<id>?kind=<screenshot|frame|video>&exp=<epoch-ms>&sig=<signature>

El enlace es válido durante 15 minutos y no requiere una credencial Bearer porque la firma contiene la autorización de corta duración. Una solicitud válida redirige con 302 a la URL temporal de almacenamiento. Una firma no válida o caducada devuelve 403; un medio ausente devuelve 404. Vuelve a llamar a run.evidence para obtener enlaces nuevos en vez de modificar los parámetros.

Valores de entorno y secretos

Los objetivos de un entorno pueden guardar valores de ejecución con nombre. environment.list y environment.get solo devuelven runtimeValueNames; nunca devuelven los valores. En un paso que rellena la interfaz, referencia uno por su nombre:

Codejson
1{2  "action": "fill",3  "target": "Password",4  "valueSpec": {5    "kind": "environment",6    "variable": "LOGIN_PASSWORD"7  }8}

Para un secreto referenciado, Autonomy envía el valor al runner por el canal de asignación autenticado mediante TLS justo antes de ejecutar. El runner lo conserva únicamente en memoria. El modelo ve un marcador {{env.LOGIN_PASSWORD}} y el sistema sustituye el valor solo al despachar la acción de rellenado. El valor se añade a la redacción de trazas, diagnósticos, registros, evidencia externa y memoria del playbook; nunca se escribe en disco ni se devuelve desde una ruta del runner.

Si falta un valor referenciado, la ejecución falla de forma cerrada antes de iniciar los pasos, con un diagnóstico environment. El runner de nueva generación admite esta sustitución; el runner estable rechaza reclamar ejecuciones cuyos pasos referencien valores del entorno, en vez de ejecutar sin el secreto.

Los valores de ejecución para objetivos API son independientes: run.trigger puede enviarlos en targets.api.runtimeValues, mientras que las vinculaciones de credenciales API siguen resolviendo {{env.NAME}} desde el entorno del host del runner.

On this page