# Simulación administrativa POST /api/v1/admin/flows/{id}/simulate requiere FLOW_ADMIN_ENABLED, FLOW_EDITOR y un businessScope permitido por ADMIN_BUSINESS_SCOPES. El actor del JSON es un fixture para evaluar roles/guardias del flujo; no autentica al llamador. No acepta un token dentro del JSON como autoridad. Flujos DRAFT/PUBLISHED/RETIRED pueden evaluarse; nunca se cambia estado de publicación, checksum o revisión. Se lee una versión del flujo y se libera el bloqueo antes de evaluar. Body UTF-8 máximo 1 MiB, sin claves duplicadas; requestData/event.data y cada resultado tienen límite 256 KiB. Aplica SimulationInput/SimulationResult del contrato. Un error de sintaxis es 400, tamaño 413, contrato/tipos/ambigüedad 422; rol de negocio del fixture no permitido 403 y evento inexistente 409. Respuesta no-store. La simulación recorre una transición: valida datos de estado actual (dataSchema), evento, roles/guardia y mappings de entradas; luego valida fixtures de resultados contra contratos/perfiles del catálogo confiable. results usa exactamente los resultKey de acciones externas seleccionadas; no se permiten resultados sobrantes ni omitidos. NO_OP toma output de su definición y no necesita una entrada results. Sigue prohibido publicar/ejecutar NO_OP en el worker. Los drafts usan versión de contrato/perfil indicada o default del catálogo. Las publicadas usan sus versiones fijadas. No requiere rutas HTTP ni secretos; catálogo de contratos sí. No resuelve referencias de schemas a red/archivos. Las guardias se evalúan antes de resultados, como al aceptar un evento real. Las decisiones, updates, validación final y reglas coincidentes usan TransitionEvaluator compartido con el worker. UNIQUE ambiguo devuelve AMBIGUOUS_DECISION, no una ruta de negocio. No crea solicitudes, ejecuciones, checkpoints, referencias documentales, auditorías ni eventos. No invoca proveedores ni ejecuta reintentos. Las respuestas documentales son fixtures, no prueba de propiedad/antivirus de un documento real. La simulación valida MIME/tamaño/tipo configurados, no verifica almacenamiento o consentimiento. No equivale a publicar un draft válido ni a un recorrido persistente de demo. Ejemplo: [simulate.http](../examples/http/simulate.http). FlowSimulationTest cubre fronteras, contrato, guardias, NO_OP y ambigüedad; SimulationIT comprueba JWT/ACL, schemas HTTP, límites y que los conteos/revisión permanecen iguales tras simular.