{"openapi":"3.1.0","info":{"title":"RAGfly","description":"## RAGfly — Recuperación aumentada para tus agentes\n\n**Servicio de RAG para dar a tus agentes contexto preciso desde tus documentos.** Simple, privado y preciso — y cada uno de tus contextos, en su propio espacio.\n\nConectas un directorio y RAGfly lo escanea, vectoriza e **indexa** automáticamente. Cualquier agente compatible recupera contexto con citas vía **REST**, **MCP**, **CLI** o **SDK** —aislado por grupo, entidad y área (RBAC completo)— sin construir ni mantener un pipeline RAG, con privacidad verificable según el modo de despliegue.\n\n> **⚙️ Para TRAER ARCHIVOS — configura `RAGFLY_ROOT` (una sola vez por máquina).** Es la carpeta raíz absoluta de tu disco = el directorio **padre** de la carpeta que cargaste a RAGfly. Ejemplo: cargaste `/Users/ana/Dropbox/MisDocumentos` → `RAGFLY_ROOT=/Users/ana/Dropbox` (en tu `~/.zshrc`, en el contexto de tu agente o en la config de tu cliente MCP), y la ruta relativa `/MisDocumentos/letras/cancion.txt` se resuelve a `/Users/ana/Dropbox/MisDocumentos/letras/cancion.txt`. Solo se necesita para **abrir/traer los archivos originales**; consultar, buscar, leer el contenido indexado y citar funciona **sin ella**. RAGfly nunca la lee ni guarda tu ruta absoluta — entrega rutas **relativas** (privacidad + portabilidad multi-máquina): compón `ruta_absoluta = RAGFLY_ROOT + ruta_relativa`. *(Con RAGfly Desktop no hace falta: las rutas ya son absolutas.)* Guía paso a paso: [ragfly.ai/build/mcp](https://ragfly.ai/build/mcp).\n\n---\n\n## Guía rápida de inicio\n\n### 1. Autenticarse\n\n```bash\ncurl -X POST https://api.ragfly.ai/auth/login \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"email\": \"usuario@empresa.cl\", \"password\": \"TuPassword\"}'\n# → {\"access_token\": \"eyJ...\", \"expires_in\": 3600}\n```\n\nPara automatizaciones sin contraseña, generar una **API Key** (`POST /auth/api-key`) y usarla con el header `Authorization: Bearer rf_...`.\n\n### 2. Verificar contexto\n\n```bash\ncurl https://api.ragfly.ai/auth/me \\\n  -H 'Authorization: Bearer eyJ...'\n# → {\"grupo_activo\": \"EMPRESA\", \"rol_principal\": \"DOC-ADMIN\", ...}\n```\n\n### 3. Listar documentos del grupo\n\n```bash\ncurl 'https://api.ragfly.ai/documentos/paginado?estado=VECTORIZADO&limite=10' \\\n  -H 'Authorization: Bearer eyJ...'\n```\n\n### 4. Búsqueda semántica\n\n```bash\ncurl -X POST https://api.ragfly.ai/documentos/buscar-semantico \\\n  -H 'Authorization: Bearer eyJ...' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"q\": \"contrato de corretaje con Vector Capital\", \"limit\": 5}'\n```\n\n### 5. Conectar vía MCP (agentes)\n\nAgregar en `~/.mcp.json`:\n\n```json\n{\"mcpServers\": {\"ragfly\": {\"url\": \"https://api.ragfly.ai/mcp/sse\", \"headers\": {\"Authorization\": \"Bearer rf_...\"}}}}\n```\n\n---\n\n## Autenticación\n\nTodos los endpoints (salvo `/auth/login`) requieren el header `Authorization`:\n\n| Header | Formato | Cuándo usarlo |\n|---|---|---|\n| `Authorization` | `Bearer <JWT>` | Sesiones interactivas (expira en 1 h) |\n| `Authorization` | `Bearer rf_...` | Automatizaciones y agentes — API Key (no expira) |\n\n## Aislamiento multi-tenant\n\nCada request opera **exclusivamente** sobre los documentos del grupo activo del usuario. Un token de grupo A nunca puede recuperar datos del grupo B, ni siquiera conociendo IDs.\n\n## Documentación de integración\n\nGuía completa con ejemplos de prueba reales, casos MCP/CLI/SDK y verificación de aislamiento: ver `docs/integradores/GUIA_PRUEBAS_EXTERNAS.md` en el repositorio.","version":"1.0.0"},"paths":{"/version":{"get":{"tags":["version"],"summary":"Get Version","description":"Versión del backend en ejecución.\n\nEndpoint público (sin auth). Útil para health checks, debugging de deploys\ny para que el frontend pueda mostrar la versión del backend al usuario.\n\nResponse shape:\n    {\n      \"version\": \"1.0.0\",\n      \"commit\": \"d93f6a5...\" | null,\n      \"commit_short\": \"d93f6a5\" | null,\n      \"fecha_build\": \"2026-05-08T10:30:00Z\" | null\n    }\n\nLas dos últimas las inyecta Railway automáticamente\n(RAILWAY_GIT_COMMIT_SHA, RAILWAY_GIT_COMMIT_AUTHOR_TIME). En desarrollo\nlocal sin esas env vars, devuelve null.","operationId":"get_version_version_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/version/cloud/latest":{"get":{"tags":["version"],"summary":"Get Cloud Latest","description":"Última versión publicada de RAGfly Cloud (con changelog).\n\nEndpoint público (sin auth). Devuelve la fila más reciente de\n`cloud_versiones`. La versión EN EJECUCIÓN sale de `GET /version` (viene del\nbuild); esta devuelve la última PUBLICADA en el catálogo + sus notas.\n\nResponse shape:\n    {\n      \"version\": \"1.0.15\",\n      \"notas\": \"...\",\n      \"version_min_cliente_compatible\": null,\n      \"commit\": null,\n      \"fecha_publicacion\": \"2026-06-23T...\"\n    }","operationId":"get_cloud_latest_version_cloud_latest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/version/cliente/latest":{"get":{"tags":["version"],"summary":"Get Cliente Latest","description":"Última versión publicada del RAGfly Cliente.\n\nEndpoint público (sin auth). El cliente lo consulta al iniciar.\n\nResponse shape:\n    {\n      \"version\": \"0.2.2\",\n      \"version_min_compatible\": \"0.2.2\",\n      \"obligatoria\": false,\n      \"notas\": \"...\",\n      \"url_descarga_macos\": null,\n      \"url_descarga_windows\": null,\n      \"fecha_publicacion\": \"2026-05-03T...\"\n    }","operationId":"get_cliente_latest_version_cliente_latest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/version/cliente/publicar":{"post":{"tags":["version"],"summary":"Publicar Cliente Release","description":"Publica idempotentemente un release desde el workflow de Desktop.","operationId":"publicar_cliente_release_version_cliente_publicar_post","parameters":[{"name":"x-desktop-release-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Desktop-Release-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClienteReleasePublicar"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/login":{"post":{"tags":["Autenticación"],"summary":"Login","description":"Autentica al usuario con email y contraseña. Retorna un JWT con validez de 1 hora.\n\n**Flujo típico para integradores:**\n1. Llamar este endpoint → obtener `access_token`.\n2. Incluir el token en el header `Authorization: Bearer <token>` de cada request.\n3. Cuando el token expire (3600 s), repetir este endpoint para renovarlo.\n\n**Verificación en dos pasos (MFA / TOTP):** si el usuario activó un factor, la\nrespuesta trae `mfa_required=true` + `factor_id` y el `access_token` devuelto es\naal1 (no sirve para operar). Para completar el login:\n1. `POST /auth/mfa/challenge` con `Authorization: Bearer <access_token aal1>` →\n   obtener `challenge_id`.\n2. `POST /auth/mfa/verify` con el mismo Bearer y `{factor_id, challenge_id, code}`\n   → obtener el `access_token` **aal2** definitivo.\n\nPara automatizaciones sin contraseña interactiva, generar una API Key permanente\ncon `POST /auth/api-key` (requiere estar autenticado una vez) y usarla con el\nheader `Authorization: Bearer rf_...`. Las API Keys no se desafían por MFA.\n\n**Ejemplo:**\n```bash\ncurl -X POST https://api.ragfly.ai/auth/login \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"email\": \"usuario@empresa.cl\", \"password\": \"TuPassword\"}'\n```","operationId":"login_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/logout":{"post":{"tags":["Autenticación"],"summary":"Logout","description":"Invalida la sesión del usuario en Supabase Auth.","operationId":"logout_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/auth/me":{"get":{"tags":["Autenticación"],"summary":"Get Me","description":"Retorna el contexto completo del usuario autenticado.\n\nUsar para verificar que el JWT o API Key es válido y conocer el contexto\nmulti-tenant activo antes de hacer otras llamadas.\n\n**Respuesta clave para integradores:**\n\n| Campo | Descripción |\n|---|---|\n| `grupo_activo` | Tenant del usuario. Todos los endpoints filtran por este valor. |\n| `entidad_activa` | Sub-tenant activo (puede cambiarse con `POST /auth/cambiar-entidad`). |\n| `rol_principal` | Rol principal del usuario (p. ej. `DOCS-USUARIO-FINAL`). |\n| `tipo_acceso` | `USUARIO` o `ADMINISTRADOR` — determina el alcance de las operaciones. |\n| `funciones` | Lista de funciones habilitadas para este usuario en su rol. |\n\n**Ejemplo:**\n```bash\ncurl https://api.ragfly.ai/auth/me \\\n  -H 'Authorization: Bearer eyJ...'\n# o con API Key:\ncurl https://api.ragfly.ai/auth/me \\\n  -H 'Authorization: Bearer rf_...'\n```","operationId":"get_me_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsuarioContexto"}}}}},"security":[{"HTTPBearer":[]}]}},"/auth/cambiar-entidad":{"post":{"tags":["Autenticación"],"summary":"Cambiar Entidad","description":"Cambia la entidad activa del usuario en sesión (solo sesión, no persiste en BD).\nLos defaults se modifican desde Mi Cuenta o mantenedor de usuarios.","operationId":"cambiar_entidad_auth_cambiar_entidad_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CambiarEntidadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsuarioContexto"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/auth/cambiar-grupo":{"post":{"tags":["Autenticación"],"summary":"Cambiar Grupo","description":"Cambia el grupo activo del usuario en sesión (solo sesión, no persiste en BD).\nLos defaults se modifican desde Mi Cuenta o mantenedor de usuarios.\nAl cambiar grupo, _cargar_contexto usará la primera entidad del nuevo grupo.","operationId":"cambiar_grupo_auth_cambiar_grupo_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CambiarGrupoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsuarioContexto"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/auth/cambiar-aplicacion":{"post":{"tags":["Autenticación"],"summary":"Cambiar Aplicacion","description":"Cambia la aplicación activa del usuario en sesión.\nSolo puede cambiar a aplicaciones habilitadas para el grupo activo.","operationId":"cambiar_aplicacion_auth_cambiar_aplicacion_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CambiarAplicacionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsuarioContexto"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/auth/registro":{"post":{"tags":["Autenticación"],"summary":"Registro Publico","description":"Auto-registro público de un nuevo cliente.\nCrea grupo, entidad y usuario. El usuario recibirá un email de invitación\npara confirmar su dirección y establecer contraseña.\nNo requiere autenticación.","operationId":"registro_publico_auth_registro_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistroPublicoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/reenviar-invitacion":{"post":{"tags":["Autenticación"],"summary":"Reenviar Invitacion","description":"Reenvía el correo de invitación/confirmación a un usuario que se registró\npero aún no confirmó su email. No requiere autenticación.\n\nResponde SIEMPRE lo mismo (H10): exista o no el registro, esté o no\nconfirmado. Solo reenvía cuando hay un usuario registrado sin confirmar.","operationId":"reenviar_invitacion_auth_reenviar_invitacion_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecuperarClaveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/registrar":{"post":{"tags":["Autenticación"],"summary":"Registrar Nuevo Usuario","description":"Endpoint heredado y retirado; no revela si el correo existe.","operationId":"registrar_nuevo_usuario_auth_registrar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistroPublicoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/completar-registros-validados":{"post":{"tags":["Autenticación"],"summary":"Completar Registros Validados","description":"Simula el runner ejecutando python_update para procesos en estado MAIL_VALIDADO.\nBusca todos los procesos de Inicialización de Usuario en MAIL_VALIDADO,\ncrea el usuario semilla (grupo + entidad + usuario + roles iniciales) y avanza\na CREACION_SEMILLA.\nEquivalente a ejecutar tipos_proceso(000001,000001).python_update.","operationId":"completar_registros_validados_auth_completar_registros_validados_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/auth/api-key":{"get":{"tags":["Autenticación"],"summary":"Listar Api Keys","description":"Lista las API Keys activas (no revocadas) del usuario o del grupo.\n\n- Admin del grupo: ve todas las keys del grupo activo.\n- Usuario normal: solo ve las suyas.\n\nPara revocar una key: `DELETE /auth/api-key/{prefijo}`.","operationId":"listar_api_keys_auth_api_key_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiKeyListItem"},"type":"array","title":"Response Listar Api Keys Auth Api Key Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Autenticación"],"summary":"Crear Api Key","description":"Crea una API Key de larga duración. Ideal para pipelines, agentes y automatizaciones\nque no pueden ejecutar `POST /auth/login` de forma interactiva.\n\n**La key solo se muestra UNA vez** en la respuesta — guardarla inmediatamente\nen un gestor de secretos. Se almacena hasheada en BD; no hay forma de recuperarla.\n\n**Uso de la key generada:** una API key solo opera por la API pública `/v1`\n(también MCP, CLI y SDKs); en las rutas internas de la web recibe 403.\n```bash\ncurl https://api.ragfly.ai/v1/documents \\\n  -H 'Authorization: Bearer rf_a1b2c3...'\n```\n\n**Rol de la key (`rol_solicitado`):** uno de los roles que el dueño de la key tiene en\nel grupo activo (p. ej. `DOCS-USUARIO-FINAL`); sin él, su rol principal. La key\nopera con las funciones de ese rol, y su nivel no puede superar ni el de quien la\ncrea ni el del dueño.\n\n- Admin del grupo: puede crear keys para cualquier usuario del grupo pasando\n  `codigo_usuario_destino`.\n- Usuario normal: solo puede crear keys para sí mismo.\n\n**Ejemplo:**\n```bash\ncurl -X POST https://api.ragfly.ai/auth/api-key \\\n  -H 'Authorization: Bearer eyJ...' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"nombre\": \"pipeline-n8n\", \"rol_solicitado\": \"DOCS-USUARIO-FINAL\"}'\n```","operationId":"crear_api_key_auth_api_key_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/auth/api-key/{prefijo}":{"delete":{"tags":["Autenticación"],"summary":"Revocar Api Key","description":"Revoca una API Key por su prefijo.\n\n- Admin del grupo: revoca cualquier key de su grupo activo.\n- Usuario normal: solo revoca sus propias keys.","operationId":"revocar_api_key_auth_api_key__prefijo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"prefijo","in":"path","required":true,"schema":{"type":"string","title":"Prefijo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/recuperar-clave":{"post":{"tags":["Autenticación"],"summary":"Recuperar Clave","description":"Envía un email de recuperación de contraseña via Supabase Auth.\nSolo envía si el usuario existe en nuestra tabla y está activo.\nPor seguridad, siempre retorna el mismo mensaje.","operationId":"recuperar_clave_auth_recuperar_clave_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecuperarClaveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/mfa/enroll":{"post":{"tags":["Autenticación"],"summary":"Mfa Enroll","description":"Inicia el registro de un factor TOTP. Devuelve el QR + secreto para escanear\nen la app authenticator. El factor queda **pendiente** hasta que se confirme con\n`POST /auth/mfa/verify` (un código válido del dispositivo).","operationId":"mfa_enroll_auth_mfa_enroll_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MFAEnrollRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MFAEnrollResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/auth/mfa/challenge":{"post":{"tags":["Autenticación"],"summary":"Mfa Challenge","description":"Abre un desafío para un factor. El body es opcional: si no se pasa `factor_id`\n(o no se manda body), el backend resuelve el factor TOTP del usuario (verificado\nsi existe — caso login/step-up; si no, el pendiente — caso activación).","operationId":"mfa_challenge_auth_mfa_challenge_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MFAChallengeRequest"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MFAChallengeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/auth/mfa/verify":{"post":{"tags":["Autenticación"],"summary":"Mfa Verify","description":"Verifica el código TOTP contra un desafío. Sirve tanto para **activar** un\nfactor recién registrado como para **completar el login** (step-up a aal2).\nDevuelve una sesión nueva elevada a aal2 (access_token + refresh_token).","operationId":"mfa_verify_auth_mfa_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MFAVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MFAVerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/auth/mfa/unenroll":{"post":{"tags":["Autenticación"],"summary":"Mfa Unenroll","description":"Desactiva (elimina) un factor TOTP. GoTrue exige sesión aal2 para eliminar un\nfactor verificado — el usuario ya está en aal2 tras el login con MFA.","operationId":"mfa_unenroll_auth_mfa_unenroll_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MFAUnenrollRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/auth/mfa/factors":{"get":{"tags":["Autenticación"],"summary":"Mfa Factors","description":"Lista los factores TOTP del usuario (verificados y pendientes) para la\npantalla de Seguridad.","operationId":"mfa_factors_auth_mfa_factors_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MFAFactorsResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/usuarios":{"get":{"tags":["Usuarios"],"summary":"Listar Usuarios","description":"Lista usuarios cuyo grupo_por_defecto es el grupo activo.","operationId":"listar_usuarios_usuarios_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UsuarioResponse"},"type":"array","title":"Response Listar Usuarios Usuarios Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Usuarios"],"summary":"Crear Usuario","description":"Crea un usuario en la tabla Usuarios y en Supabase Auth.\nSi no se provee password, Supabase envía un email de invitación.","operationId":"crear_usuario_usuarios_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsuarioCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsuarioResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/usuarios/paginado":{"get":{"tags":["Usuarios"],"summary":"Listar Usuarios Paginado","description":"Versión paginada del listado de usuarios del grupo activo.\nFiltra por grupo_por_defecto = grupo_activo.\nRetorna `{items, total, page, limit}`. Filtro opcional `q` busca por\nnombre_usuario (ilike) o codigo_usuario (email).","operationId":"listar_usuarios_paginado_usuarios_paginado_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsuariosPaginadosResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/usuarios/todos":{"get":{"tags":["Usuarios"],"summary":"Listar Todos Usuarios","description":"Lista TODOS los usuarios del sistema sin filtro de grupo.\nSolo accesible para super-admin (tipo_acceso = SISTEMA).\nUsado por la pantalla de usuario semilla.","operationId":"listar_todos_usuarios_usuarios_todos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UsuarioResponse"},"title":"Response Listar Todos Usuarios Usuarios Todos Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/usuarios/todos/paginado":{"get":{"tags":["Usuarios"],"summary":"Listar Todos Usuarios Paginado","description":"Versión paginada del listado global de usuarios (super-admin).\nSin filtro de grupo. Retorna `{items, total, page, limit}`.\nUsado por la pantalla de usuario semilla.","operationId":"listar_todos_usuarios_paginado_usuarios_todos_paginado_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsuariosPaginadosResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/usuarios/cambiar-grupo":{"put":{"tags":["Usuarios"],"summary":"Cambiar Grupo Propio","description":"Permite a un usuario de tipo SISTEMA cambiar su propio grupo_por_defecto.\nActualiza atómicamente: grupo_por_defecto, id_rol_principal (primer rol del nuevo\ngrupo), entidad_por_defecto (NULL), codigo_area (NULL),\naplicacion_por_defecto (NULL).","operationId":"cambiar_grupo_propio_usuarios_cambiar_grupo_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CambiarGrupoBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/usuarios/{codigo}":{"get":{"tags":["Usuarios"],"summary":"Obtener Usuario","operationId":"obtener_usuario_usuarios__codigo__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsuarioResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Usuarios"],"summary":"Actualizar Usuario","operationId":"actualizar_usuario_usuarios__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsuarioUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsuarioResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Usuarios"],"summary":"Eliminar Usuario","description":"Hard delete del usuario y todas sus relaciones en cascada.\n\nBloquea la eliminación si el usuario tiene asignado alguno de los roles\nprotegidos (SEG_ADMIN_GRUPO, SISTEMA) — roles globales protegidos.","operationId":"eliminar_usuario_usuarios__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/usuarios/{codigo}/preview-eliminar":{"get":{"tags":["Usuarios"],"summary":"Preview Eliminar Usuario","description":"Cuenta las dependencias que se borrarían en cascada al eliminar el usuario.\n\nHoy la dependencia relevante que se elimina JUNTO con el usuario son sus\nPROCESOS: la FK ``procesos.codigo_usuario`` es NOT NULL con ``ON DELETE SET\nNULL``, una contradicción que impide anular la columna → los procesos no\npueden quedar huérfanos y se borran con el usuario. El frontend usa este\nconteo para AVISAR antes de confirmar (decisión del usuario, 2026-07-24).","operationId":"preview_eliminar_usuario_usuarios__codigo__preview_eliminar_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/usuarios/{codigo}/roles":{"get":{"tags":["Usuarios"],"summary":"Listar Roles Usuario","description":"Retorna los roles adicionales asignados al usuario (con codigo_rol resuelto).","operationId":"listar_roles_usuario_usuarios__codigo__roles_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Usuarios"],"summary":"Asignar Rol","description":"Asigna un rol al usuario en un grupo específico.","operationId":"asignar_rol_usuarios__codigo__roles_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsuarioRolAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/usuarios/{codigo}/roles/orden":{"put":{"tags":["Usuarios"],"summary":"Reordenar Roles Usuario","description":"Actualiza el orden de todos los roles de un usuario.","operationId":"reordenar_roles_usuario_usuarios__codigo__roles_orden_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UsuarioRolOrden"},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/usuarios/{codigo}/roles/{id_rol}":{"delete":{"tags":["Usuarios"],"summary":"Quitar Rol","description":"Quita un rol adicional del usuario.\n\nSi se provee codigo_grupo como query param, quita el rol en ese grupo específico.\nEsto permite que el super-admin quite roles de usuarios en grupos distintos al activo.\nPor defecto usa el grupo activo del usuario logueado.","operationId":"quitar_rol_usuarios__codigo__roles__id_rol__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}},{"name":"codigo_grupo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/usuarios/{codigo}/entidades":{"get":{"tags":["Usuarios"],"summary":"Listar Entidades Usuario","description":"Retorna las entidades asignadas al usuario. Acepta ?codigo_grupo=X para filtrar por grupo.","operationId":"listar_entidades_usuario_usuarios__codigo__entidades_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"codigo_grupo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Usuarios"],"summary":"Asignar Entidad","description":"Asigna una entidad al usuario, opcionalmente con área.","operationId":"asignar_entidad_usuarios__codigo__entidades_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntidadAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/usuarios/{codigo}/entidades/{entidad}":{"delete":{"tags":["Usuarios"],"summary":"Quitar Entidad","description":"Quita una entidad del usuario (del grupo activo del admin).","operationId":"quitar_entidad_usuarios__codigo__entidades__entidad__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"entidad","in":"path","required":true,"schema":{"type":"string","title":"Entidad"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/usuarios/{codigo}/grupos":{"get":{"tags":["Usuarios"],"summary":"Listar Grupos Usuario","description":"Retorna el grupo_por_defecto del usuario (un usuario = un grupo).","operationId":"listar_grupos_usuario_usuarios__codigo__grupos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Usuarios"],"summary":"Asignar Grupo Deprecated","description":"Operación no soportada: los usuarios ahora pertenecen a un solo grupo.","operationId":"asignar_grupo_deprecated_usuarios__codigo__grupos_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"410":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/usuarios/{codigo}/grupos/{grupo}":{"delete":{"tags":["Usuarios"],"summary":"Quitar Grupo Deprecated","description":"Operación no soportada: los usuarios ahora pertenecen a un solo grupo.","operationId":"quitar_grupo_deprecated_usuarios__codigo__grupos__grupo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"grupo","in":"path","required":true,"schema":{"type":"string","title":"Grupo"}}],"responses":{"410":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles":{"get":{"tags":["Roles y Funciones"],"summary":"Listar Roles","description":"Lista roles del grupo activo + (opcionalmente) los globales (codigo_grupo IS NULL).\n\nSi se pasa ?codigo_grupo=X, lista los del grupo X (verifica acceso).\nPor default incluye los globales mezclados; ?incluir_globales=false los excluye.","operationId":"listar_roles_roles_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_grupo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"}},{"name":"incluir_globales","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Incluir Globales"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RolResponse"},"title":"Response Listar Roles Roles Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Roles y Funciones"],"summary":"Crear Rol","description":"Crea un rol. Si codigo_grupo es None, crea un rol global (solo super-admin).","operationId":"crear_rol_roles_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles/globales":{"get":{"tags":["Roles y Funciones"],"summary":"Listar Roles Globales","description":"Lista solo los roles globales (codigo_grupo IS NULL).\n\nCon ?app=CODIGO filtra a los roles asociados a esa aplicación vía\nrel_rol_aplicacion (filtro de configuración; ver mig 784). Sin app → todos.","operationId":"listar_roles_globales_roles_globales_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"app","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"App"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RolResponse"},"title":"Response Listar Roles Globales Roles Globales Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles/copiar":{"post":{"tags":["Roles y Funciones"],"summary":"Copiar Rol","description":"Copia un rol existente a un grupo destino, incluyendo sus funciones.","operationId":"copiar_rol_roles_copiar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolCopiar"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/roles/orden":{"put":{"tags":["Roles y Funciones"],"summary":"Reordenar Roles","description":"Actualiza el orden de los roles (id_rol → orden).","operationId":"reordenar_roles_roles_orden_put","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RolOrden"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/roles/{id_rol}":{"get":{"tags":["Roles y Funciones"],"summary":"Obtener Rol","operationId":"obtener_rol_roles__id_rol__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Roles y Funciones"],"summary":"Actualizar Rol","operationId":"actualizar_rol_roles__id_rol__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Roles y Funciones"],"summary":"Eliminar Rol","operationId":"eliminar_rol_roles__id_rol__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles/{id_rol}/funciones":{"get":{"tags":["Roles y Funciones"],"summary":"Funciones De Rol","operationId":"funciones_de_rol_roles__id_rol__funciones_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Roles y Funciones"],"summary":"Asignar Funcion A Rol","operationId":"asignar_funcion_a_rol_roles__id_rol__funciones_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__roles__FuncionAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles/{id_rol}/funciones/orden":{"put":{"tags":["Roles y Funciones"],"summary":"Reordenar Funciones De Rol","operationId":"reordenar_funciones_de_rol_roles__id_rol__funciones_orden_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FuncionOrden"},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles/{id_rol}/funciones/{funcion}":{"delete":{"tags":["Roles y Funciones"],"summary":"Quitar Funcion De Rol","operationId":"quitar_funcion_de_rol_roles__id_rol__funciones__funcion__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}},{"name":"funcion","in":"path","required":true,"schema":{"type":"string","title":"Funcion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles/{id_rol}/aplicaciones":{"get":{"tags":["Roles y Funciones"],"summary":"Aplicaciones De Rol","operationId":"aplicaciones_de_rol_roles__id_rol__aplicaciones_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Roles y Funciones"],"summary":"Asignar App A Rol","operationId":"asignar_app_a_rol_roles__id_rol__aplicaciones_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppDeRolBody"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles/{id_rol}/aplicaciones/{app}":{"delete":{"tags":["Roles y Funciones"],"summary":"Quitar App De Rol","description":"Desasocia el rol de la aplicación (borra la fila rel_rol_aplicacion).\n\nNO elimina el rol; solo deja de mostrarse al filtrar por esa app.","operationId":"quitar_app_de_rol_roles__id_rol__aplicaciones__app__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}},{"name":"app","in":"path","required":true,"schema":{"type":"string","title":"App"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles/{id_rol}/generar-md":{"post":{"tags":["Roles y Funciones"],"summary":"Generar Md Rol","operationId":"generar_md_rol_roles__id_rol__generar_md_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/funciones":{"get":{"tags":["Roles y Funciones"],"summary":"Listar Funciones","operationId":"listar_funciones_funciones_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"grupo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grupo"}},{"name":"app","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"App"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FuncionResponse"},"title":"Response Listar Funciones Funciones Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Roles y Funciones"],"summary":"Crear Funcion","operationId":"crear_funcion_funciones_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FuncionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FuncionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/funciones/reordenar":{"put":{"tags":["Roles y Funciones"],"summary":"Reordenar Funciones Global","description":"Actualiza el orden de las funciones globales.","operationId":"reordenar_funciones_global_funciones_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FuncionOrdenItem"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/funciones/{codigo}":{"put":{"tags":["Roles y Funciones"],"summary":"Actualizar Funcion","operationId":"actualizar_funcion_funciones__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FuncionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FuncionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Roles y Funciones"],"summary":"Eliminar Funcion","operationId":"eliminar_funcion_funciones__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/funciones/{codigo}/aplicaciones":{"get":{"tags":["Roles y Funciones"],"summary":"Aplicaciones De Funcion","operationId":"aplicaciones_de_funcion_funciones__codigo__aplicaciones_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Roles y Funciones"],"summary":"Asignar App A Funcion","operationId":"asignar_app_a_funcion_funciones__codigo__aplicaciones_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_AppAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/funciones/{codigo}/aplicaciones/{app}":{"delete":{"tags":["Roles y Funciones"],"summary":"Quitar App De Funcion","operationId":"quitar_app_de_funcion_funciones__codigo__aplicaciones__app__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"app","in":"path","required":true,"schema":{"type":"string","title":"App"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/funciones/{codigo}/roles":{"get":{"tags":["Roles y Funciones"],"summary":"Roles De Funcion","description":"Lista los roles que tienen asignada esta función.","operationId":"roles_de_funcion_funciones__codigo__roles_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Roles y Funciones"],"summary":"Asignar Rol A Funcion","description":"Asigna un rol a una función (crea entrada en rel_rol_funcion).","operationId":"asignar_rol_a_funcion_funciones__codigo__roles_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_RolAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/funciones/{codigo}/roles/{id_rol}":{"delete":{"tags":["Roles y Funciones"],"summary":"Quitar Rol De Funcion","description":"Quita un rol de una función.","operationId":"quitar_rol_de_funcion_funciones__codigo__roles__id_rol__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/funciones/{codigo}/apis":{"get":{"tags":["Roles y Funciones"],"summary":"Apis De Funcion","description":"Lista los endpoints API que la función USA (M:N, mig 611).","operationId":"apis_de_funcion_funciones__codigo__apis_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/funciones/{codigo}/sincronizar":{"post":{"tags":["Roles y Funciones"],"summary":"Sincronizar Funcion","description":"Sincroniza una funcion: refresca arcos del grafo + regenera doc virtual + valida APIs.\n\nSingle source of truth invocado por:\n  - skill /ragfly-actualizar-funcion\n  - boton \"Sincronizar\" en mantenedor /funciones\n  - tab \"Grafo\" en pantalla /prompts (sincronizacion general)\n\nHace, en orden:\n  1) fn_refrescar_rel_funcion_dependencia(codigo) -> recomputa arcos salientes\n     desde api_endpoints + FKs (no sobreescribe arcos con codigo manual).\n  2) Reporta APIs huerfanas de esta funcion (sin tabla_asociada).\n\nMig 307 (2026-04-30): la regeneracion del doc virtual del RAG fue ELIMINADA.\nEl chat accede al .md de cada funcion via tool leer_md (sin RAG).\n\nDevuelve reporte minimalista.","operationId":"sincronizar_funcion_funciones__codigo__sincronizar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/funciones/sincronizar-todas":{"post":{"tags":["Roles y Funciones"],"summary":"Sincronizar Todas Funciones","description":"Full rebuild del grafo de dependencias. Solo super-admin.\n\nMig 307 (2026-04-30): el sync masivo de docs virtuales fue ELIMINADO.\nEl chat accede a la documentacion de cada funcion via tool leer_md (sin RAG).","operationId":"sincronizar_todas_funciones_funciones_sincronizar_todas_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/funciones/{codigo}/generar-md":{"post":{"tags":["Roles y Funciones"],"summary":"Generar Md Funcion","description":"Recompila funciones.md desde la ficha y memoria operacional vigentes.","operationId":"generar_md_funcion_funciones__codigo__generar_md_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/funciones/{codigo}/forzar-analisis":{"post":{"tags":["Roles y Funciones"],"summary":"Forzar Analisis Funcion","description":"Encola análisis documental del commit desplegado, sin ejecutarlo en Railway.","operationId":"forzar_analisis_funcion_funciones__codigo__forzar_analisis_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/funciones/{codigo}/generar-vista":{"post":{"tags":["Roles y Funciones"],"summary":"Generar Vista Funcion","description":"Genera el SQL de la vista del chat usando el LLM.\nLee funciones.prompt_view, invoca al LLM y guarda el resultado en funciones.sql_view.","operationId":"generar_vista_funcion_funciones__codigo__generar_vista_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/funciones/{codigo}/sincronizar-vista":{"post":{"tags":["Roles y Funciones"],"summary":"Sincronizar Vista Funcion","description":"Ejecuta el SQL guardado en funciones.sql_view contra la BD.\nSolo super-admin (usuarios.tipo_acceso='SISTEMA').\n\nFlujo: DROP VIEW IF EXISTS CASCADE → CREATE VIEW (del LLM) → GRANT SELECT TO chat_readonly.\nMarca vista_pendiente_sync=false y registra fecha_ultima_sincronizacion_vista.","operationId":"sincronizar_vista_funcion_funciones__codigo__sincronizar_vista_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/funciones/vistas/resumen":{"get":{"tags":["Roles y Funciones"],"summary":"Resumen Vistas Chat","description":"Contadores para la sección 'Vistas del chat' de /prompts.\n\n- total: funciones existentes\n- con_prompt_view: funciones con prompt_view definido (elegibles para Generar)\n- con_sql_view:    funciones con sql_view generado (elegibles para Sincronizar)\n- pendientes_sync: funciones con vista_pendiente_sync = true","operationId":"resumen_vistas_chat_funciones_vistas_resumen_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/funciones/vistas/codigos":{"get":{"tags":["Roles y Funciones"],"summary":"Listar Codigos Vistas","description":"Lista de codigos_funcion para iterar desde el frontend en operaciones masivas.\n\nParámetro `filtro`:\n  - 'con_prompt_view'  → funciones con prompt_view (para Generar masivo)\n  - 'con_sql_view'     → funciones con sql_view (para Sincronizar masivo de todas)\n  - 'pendientes_sync'  → funciones con vista_pendiente_sync = true (para Sincronizar solo pendientes)\n  - 'todas'            → todas (default, sin filtrar)","operationId":"listar_codigos_vistas_funciones_vistas_codigos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"filtro","in":"query","required":false,"schema":{"type":"string","default":"todas","title":"Filtro"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/funciones/vistas/generar-todas":{"post":{"tags":["Roles y Funciones"],"summary":"Generar Todas Vistas","description":"Genera (vía LLM) el sql_view de todas las funciones que tienen prompt_view.\nProcesa secuencialmente, carga el schema una sola vez.\nSolo super-admin.","operationId":"generar_todas_vistas_funciones_vistas_generar_todas_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/roles/{id_rol}/categorias-proceso":{"get":{"tags":["Roles y Funciones"],"summary":"Categorias Proceso De Rol","operationId":"categorias_proceso_de_rol_roles__id_rol__categorias_proceso_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Roles y Funciones"],"summary":"Asignar Categoria Proceso A Rol","operationId":"asignar_categoria_proceso_a_rol_roles__id_rol__categorias_proceso_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaProcesoAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles/{id_rol}/categorias-proceso/orden":{"put":{"tags":["Roles y Funciones"],"summary":"Reordenar Categorias Proceso De Rol","operationId":"reordenar_categorias_proceso_de_rol_roles__id_rol__categorias_proceso_orden_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CategoriaProcesoOrden"},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles/{id_rol}/categorias-proceso/{codigo}":{"delete":{"tags":["Roles y Funciones"],"summary":"Quitar Categoria Proceso De Rol","operationId":"quitar_categoria_proceso_de_rol_roles__id_rol__categorias_proceso__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}},{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles/{id_rol}/tipos-proceso":{"get":{"tags":["Roles y Funciones"],"summary":"Tipos Proceso De Rol","operationId":"tipos_proceso_de_rol_roles__id_rol__tipos_proceso_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Roles y Funciones"],"summary":"Asignar Tipo Proceso A Rol","operationId":"asignar_tipo_proceso_a_rol_roles__id_rol__tipos_proceso_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoProcesoAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles/{id_rol}/tipos-proceso/orden":{"put":{"tags":["Roles y Funciones"],"summary":"Reordenar Tipos Proceso De Rol","operationId":"reordenar_tipos_proceso_de_rol_roles__id_rol__tipos_proceso_orden_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TipoProcesoOrden"},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles/{id_rol}/tipos-proceso/{categoria}/{tipo}":{"delete":{"tags":["Roles y Funciones"],"summary":"Quitar Tipo Proceso De Rol","operationId":"quitar_tipo_proceso_de_rol_roles__id_rol__tipos_proceso__categoria___tipo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}},{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/entidades":{"get":{"tags":["Entidades"],"summary":"Listar Entidades","description":"Retorna las entidades del usuario, filtradas por grupo activo. Admins ven todas del grupo.","operationId":"listar_entidades_entidades_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/EntidadResponse"},"type":"array","title":"Response Listar Entidades Entidades Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Entidades"],"summary":"Crear Entidad","operationId":"crear_entidad_entidades_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntidadCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntidadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/entidades/reordenar":{"put":{"tags":["Entidades"],"summary":"Reordenar Entidades","description":"Body: [{codigo_grupo, codigo_entidad, orden}, ...]","operationId":"reordenar_entidades_entidades_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/entidades/{codigo}":{"put":{"tags":["Entidades"],"summary":"Actualizar Entidad","operationId":"actualizar_entidad_entidades__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntidadUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntidadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Entidades"],"summary":"Eliminar Entidad","description":"Borra una entidad del grupo activo. Rechaza el borrado cuando la entidad está\nen uso (documentos, ubicaciones, espacios, personas, tareas o usuarios anclados a\nella) o cuando es la entidad activa de quien la borra.","operationId":"eliminar_entidad_entidades__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/entidades/{codigo}/generate-description":{"post":{"tags":["Entidades"],"summary":"Generar Descripcion Entidad","operationId":"generar_descripcion_entidad_entidades__codigo__generate_description_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationDescriptionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationDescriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/entidades/{codigo}/generar-md":{"post":{"tags":["Entidades"],"summary":"Generar Md Entidad","description":"Genera el documento Markdown de la entidad concatenando sus campos descriptivos.","operationId":"generar_md_entidad_entidades__codigo__generar_md_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/entidades/{codigo}/dependencias":{"get":{"tags":["Entidades"],"summary":"Dependencias Entidad","description":"Qué cuelga de la entidad. Lo consulta la pantalla ANTES de ofrecer el borrado,\npara advertir con números concretos en el modal de confirmación.","operationId":"dependencias_entidad_entidades__codigo__dependencias_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/entidades/{codigo}/parametros":{"get":{"tags":["Entidades"],"summary":"Listar Parametros Entidad","operationId":"listar_parametros_entidad_entidades__codigo__parametros_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ParametroEntidadResponse"},"title":"Response Listar Parametros Entidad Entidades  Codigo  Parametros Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Entidades"],"summary":"Upsert Parametro Entidad","description":"Inserta o actualiza un parámetro de entidad.","operationId":"upsert_parametro_entidad_entidades__codigo__parametros_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParametroEntidadCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/entidades/{codigo}/parametros/reordenar":{"put":{"tags":["Entidades"],"summary":"Reordenar Parametros Entidad","description":"Body: [{categoria_parametro, tipo_parametro, orden}, ...]\n\nEl body va tipado `list[dict]` como el resto de los reordenar (ver\n`reordenar_entidades` acá arriba y `reordenar_grupos`). Declararlo `list` a\nsecas —sin parámetro de tipo— no se resuelve como body: FastAPI lo embebía y\ncontestaba 422 «Field required» a TODA llamada, mandara el cliente el arreglo\ncrudo o envuelto. El frontend siempre mandó el arreglo crudo\n(`entidadesApi.reordenarParametros`), así que el contrato no cambia: lo que\ncambia es que ahora se resuelve.","operationId":"reordenar_parametros_entidad_entidades__codigo__parametros_reordenar_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/entidades/{codigo}/parametros/{categoria}/{tipo}":{"delete":{"tags":["Entidades"],"summary":"Eliminar Parametro Entidad","description":"Elimina un parámetro de la entidad.","operationId":"eliminar_parametro_entidad_entidades__codigo__parametros__categoria___tipo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/entidades/{codigo}/usuarios":{"get":{"tags":["Entidades"],"summary":"Listar Usuarios Entidad","description":"Retorna usuarios asignados a esta entidad. Si se pasa codigo_grupo, filtra por ese grupo.\n\nE11 (EJEC 10 S08): `codigo_grupo` ajeno solo lo usa el operador global\n(pantalla /groups del sistema); a los demás, 404 como si no existiera.","operationId":"listar_usuarios_entidad_entidades__codigo__usuarios_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"codigo_grupo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/parametros/valor/{categoria}/{tipo}":{"get":{"tags":["Parámetros"],"summary":"Obtener Valor Parametro","description":"Valor de un parámetro, jerarquía Usuario → Grupo → SISTEMA.\n\nSISTEMA y la lista `PARAMETROS_LEIBLES_POR_NAVEGADOR` resuelven completo; el\nresto, solo lo visible (`resolver_parametro_visible`).","operationId":"obtener_valor_parametro_parametros_valor__categoria___tipo__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/parametros/tamano-lote":{"get":{"tags":["Parámetros"],"summary":"Obtener Tamano Lote","description":"Tamaño de LOTE del grupo activo, resuelto grupo → sistema.\n\nNo pasa por `/valor/…`: ese camino consulta primero el nivel usuario, donde\nel alta de cada usuario deja una copia congelada de todos los parámetros de\nsistema que taparía el valor del grupo.","operationId":"obtener_tamano_lote_parametros_tamano_lote_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/parametros/revelar/generales/{categoria}/{tipo}":{"get":{"tags":["Parámetros"],"summary":"Revelar Parametro General","description":"Devuelve el valor real de un parámetro general privado (solo SISTEMA).","operationId":"revelar_parametro_general_parametros_revelar_generales__categoria___tipo__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/parametros/revelar/grupo/{categoria}/{tipo}":{"get":{"tags":["Parámetros"],"summary":"Revelar Parametro Grupo","description":"Devuelve el valor real de un parámetro de grupo privado.\n\nRevelar es LEER un secreto: exige administrador del grupo, como exige\nSISTEMA su par de generales. Desde la regla del 2026-09-19 escribir el nivel\ngrupo pide lo mismo, así que leer el secreto no es más blando que cambiarlo.\nLas dos pantallas que lo usan ya son de administración.","operationId":"revelar_parametro_grupo_parametros_revelar_grupo__categoria___tipo__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/parametros/generales":{"get":{"tags":["Parámetros"],"summary":"Listar Parametros Generales","operationId":"listar_parametros_generales_parametros_generales_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["Parámetros"],"summary":"Upsert Parametro General","operationId":"upsert_parametro_general_parametros_generales_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParametroGeneralUpsert"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/parametros/generales/paginado":{"get":{"tags":["Parámetros"],"summary":"Listar Parametros Generales Paginado","operationId":"listar_parametros_generales_paginado_parametros_generales_paginado_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"categoria","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categoria"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/parametros/generales/reordenar":{"put":{"tags":["Parámetros"],"summary":"Reordenar Parametros Generales","description":"Actualiza el campo orden de múltiples parámetros generales.","operationId":"reordenar_parametros_generales_parametros_generales_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ParametroOrden"},"type":"array","title":"Items"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/parametros/generales/{categoria}/{tipo}":{"delete":{"tags":["Parámetros"],"summary":"Eliminar Parametro General","description":"Elimina un parámetro general.","operationId":"eliminar_parametro_general_parametros_generales__categoria___tipo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/parametros/grupo":{"get":{"tags":["Parámetros"],"summary":"Listar Parametros Grupo","description":"Retorna los parámetros del grupo activo ordenados: editables primero.","operationId":"listar_parametros_grupo_parametros_grupo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["Parámetros"],"summary":"Upsert Parametro Grupo","description":"Inserta o actualiza un parámetro del grupo activo.","operationId":"upsert_parametro_grupo_parametros_grupo_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParametroUpsert"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/parametros/grupo/{categoria}/{tipo}/nulificar":{"put":{"tags":["Parámetros"],"summary":"Nulificar Parametro Grupo","description":"Elimina la réplica de grupo (vuelve al valor general del sistema).\nUsado en lugar de DELETE para parámetros privados donde el DELETE no está disponible en UI.","operationId":"nulificar_parametro_grupo_parametros_grupo__categoria___tipo__nulificar_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/parametros/grupo/reordenar":{"put":{"tags":["Parámetros"],"summary":"Reordenar Parametros Grupo","description":"Actualiza el campo orden de múltiples parámetros del grupo activo.","operationId":"reordenar_parametros_grupo_parametros_grupo_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ParametroOrden"},"type":"array","title":"Items"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/parametros/grupo/{categoria}/{tipo}":{"delete":{"tags":["Parámetros"],"summary":"Eliminar Parametro Grupo","description":"Elimina un parámetro del grupo activo del usuario.","operationId":"eliminar_parametro_grupo_parametros_grupo__categoria___tipo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/parametros/usuario":{"get":{"tags":["Parámetros"],"summary":"Listar Mis Parametros","description":"Retorna los parámetros del usuario ordenados: editables primero.","operationId":"listar_mis_parametros_parametros_usuario_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["Parámetros"],"summary":"Upsert Mi Parametro","description":"Inserta o actualiza un parámetro propio del usuario.","operationId":"upsert_mi_parametro_parametros_usuario_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParametroUpsert"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/parametros/usuario/reordenar":{"put":{"tags":["Parámetros"],"summary":"Reordenar Parametros Usuario","description":"Actualiza el campo orden de múltiples parámetros del usuario actual.","operationId":"reordenar_parametros_usuario_parametros_usuario_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ParametroOrden"},"type":"array","title":"Items"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/parametros/usuario/{categoria}/{tipo}":{"delete":{"tags":["Parámetros"],"summary":"Eliminar Mi Parametro","description":"Elimina un parámetro propio del usuario.","operationId":"eliminar_mi_parametro_parametros_usuario__categoria___tipo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/parametros/sincronizar-replicas":{"post":{"tags":["Parámetros"],"summary":"Sincronizar Replicas","description":"Sincroniza las réplicas de parámetros en grupo y usuario según los flags\nreplica_grupo / replica_usuario de categorias_parametro.\n\n- BORRA réplicas de categorías con replica_grupo=FALSE de parametros_grupo.\n- INSERTA (con el valor del general) los parámetros faltantes donde replica_grupo=TRUE.\n- INSERTA (con el valor del general) los parámetros faltantes donde replica_usuario=TRUE.\nON CONFLICT DO NOTHING — no pisa overrides existentes.\n\n**No borra nada de parametros_usuario.** Decisión del usuario (2026-09-20):\n«la réplica no debe pisar las preferencias ya ingresadas». El flag\nreplica_usuario dice qué hereda un usuario NUEVO, no qué se limpia en los que\nya existen: son dos cosas distintas y tenerlas pegadas obligaba a elegir entre\ndejar de replicar y conservar lo que la gente eligió. Una fila de\nPREFERENCIAS/IDIOMA no dice si la escribió el trigger o la persona (la\nauditoría es la única señal y tiene retención), así que un borrado masivo por\ncategoría no puede distinguirlas y se llevaría elecciones reales por delante.\nLa limpieza histórica que este paso hacía ya ocurrió, una vez, en la mig 1404.\n\nSolo SISTEMA puede ejecutar esto: borra filas de TODOS los grupos.","operationId":"sincronizar_replicas_parametros_sincronizar_replicas_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/fuentes-ingesta/sesion/{operacion}":{"post":{"tags":["fuentes-ingesta"],"summary":"Sesion Ingesta","operationId":"sesion_ingesta_fuentes_ingesta_sesion__operacion__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"operacion","in":"path","required":true,"schema":{"enum":["adquirir","renovar","liberar"],"type":"string","title":"Operacion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SesionIngestaRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fuentes-ingesta/corridas/iniciar":{"post":{"tags":["fuentes-ingesta"],"summary":"Iniciar Corrida Fuente","description":"Crea o reanuda la corrida de una conexión, atada a la sesión que la conduce.","operationId":"iniciar_corrida_fuente_fuentes_ingesta_corridas_iniciar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-ingesta-sesion","in":"header","required":true,"schema":{"type":"string","title":"X-Ingesta-Sesion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IniciarCorridaFuenteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccionCorridaFuenteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fuentes-ingesta/corridas/{codigo_corrida}/avanzar":{"post":{"tags":["fuentes-ingesta"],"summary":"Avanzar Corrida Fuente","description":"Aplica exactamente una transición del CORE compartido.","operationId":"avanzar_corrida_fuente_fuentes_ingesta_corridas__codigo_corrida__avanzar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_corrida","in":"path","required":true,"schema":{"type":"string","title":"Codigo Corrida"}},{"name":"x-ingesta-sesion","in":"header","required":true,"schema":{"type":"string","title":"X-Ingesta-Sesion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvanzarCorridaFuenteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccionCorridaFuenteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fuentes-ingesta/corridas/{codigo_corrida}/cancelar":{"post":{"tags":["fuentes-ingesta"],"summary":"Cancelar Corrida Fuente","description":"Pausa una corrida sin cerrar el inventario ni confirmar ausencias.","operationId":"cancelar_corrida_fuente_fuentes_ingesta_corridas__codigo_corrida__cancelar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_corrida","in":"path","required":true,"schema":{"type":"string","title":"Codigo Corrida"}},{"name":"x-ingesta-sesion","in":"header","required":true,"schema":{"type":"string","title":"X-Ingesta-Sesion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelarCorridaFuenteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccionCorridaFuenteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fuentes-ingesta/conexiones":{"get":{"tags":["fuentes-ingesta"],"summary":"Listar Conexiones Fuente","description":"Carpetas conectadas de la entidad activa, con un estado en lenguaje llano.","operationId":"listar_conexiones_fuente_fuentes_ingesta_conexiones_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ConexionFuente"},"type":"array","title":"Response Listar Conexiones Fuente Fuentes Ingesta Conexiones Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/fuentes-ingesta/conexiones/{codigo_conexion_fuente}":{"patch":{"tags":["fuentes-ingesta"],"summary":"Actualizar Conexion Fuente","description":"Tomar la carpeta desde este equipo, soltarla, o cambiar cada cuánto se actualiza.","operationId":"actualizar_conexion_fuente_fuentes_ingesta_conexiones__codigo_conexion_fuente__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_conexion_fuente","in":"path","required":true,"schema":{"type":"string","title":"Codigo Conexion Fuente"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActualizarConexionFuente"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConexionFuente"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fuentes-ingesta":{"get":{"tags":["fuentes-ingesta"],"summary":"Listar Fuentes Ingesta","description":"Plataformas de origen activas, resueltas para el grupo del usuario.\n\nLas credenciales se evalúan a nivel GRUPO (jerarquía grupo→general): son un\nactivo del grupo por diseño (mig 1230, categoría CONECTORES privada), no una\npreferencia de usuario.","operationId":"listar_fuentes_ingesta_fuentes_ingesta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FuenteIngestaDisponible"},"type":"array","title":"Response Listar Fuentes Ingesta Fuentes Ingesta Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/fuentes-ingesta/{codigo_fuente_ingesta}":{"patch":{"tags":["fuentes-ingesta"],"summary":"Configurar Fuente Ingesta","description":"Actualiza habilitación/cadencia solo para el grupo autenticado.\n\nNo acepta credenciales, rutas ni tokens. Esos datos privados permanecen en\nlos mecanismos ya definidos para el grupo o en el keyring del Desktop.","operationId":"configurar_fuente_ingesta_fuentes_ingesta__codigo_fuente_ingesta__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_fuente_ingesta","in":"path","required":true,"schema":{"type":"string","title":"Codigo Fuente Ingesta"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FuenteIngestaConfiguracion"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FuenteIngestaDisponible"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auditoria":{"get":{"tags":["Auditoría"],"summary":"Listar Auditoria","description":"Retorna registros de auditoría paginados y ordenados por fecha descendente.\n\n- tipo=seguridad: `tipo_auditoria = 'SEGURIDAD'` (tabla con codigo_grupo, o\n  eventos de disponibilidad por ruta y de la API /v1)\n- tipo=configuracion: `tipo_auditoria = 'CONFIGURACION'`\n- tipo=usuarios: registros solo de la tabla usuarios\n\nLa clasificación la escribe el trigger `trg_auditoria_tipo` al insertar (mig 1543).\nAntes se leía la lista de tablas con grupo y viajaba como `.in_` / `not.in`\n(universos #13).","operationId":"listar_auditoria_auditoria_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tipo","in":"query","required":false,"schema":{"type":"string","pattern":"^(seguridad|configuracion|usuarios)$","default":"seguridad","title":"Tipo"}},{"name":"pagina","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Pagina"}},{"name":"por_pagina","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Por Pagina"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/grupos":{"get":{"tags":["Grupos de Entidades"],"summary":"Listar Grupos","description":"Retorna los grupos del usuario. Super-admins ven todos.","operationId":"listar_grupos_grupos_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/GrupoResponse"},"type":"array","title":"Response Listar Grupos Grupos Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Grupos de Entidades"],"summary":"Crear Grupo","operationId":"crear_grupo_grupos_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrupoCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrupoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/grupos/reordenar":{"put":{"tags":["Grupos de Entidades"],"summary":"Reordenar Grupos","description":"Body: [{codigo_grupo, orden}, ...]","operationId":"reordenar_grupos_grupos_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/grupos/{codigo}":{"put":{"tags":["Grupos de Entidades"],"summary":"Actualizar Grupo","operationId":"actualizar_grupo_grupos__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrupoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrupoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Grupos de Entidades"],"summary":"Eliminar Grupo","operationId":"eliminar_grupo_grupos__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/grupos/{codigo}/generate-description":{"post":{"tags":["Grupos de Entidades"],"summary":"Generar Descripcion Organizacion","operationId":"generar_descripcion_organizacion_grupos__codigo__generate_description_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationDescriptionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationDescriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/grupos/{codigo}/generar-md":{"post":{"tags":["Grupos de Entidades"],"summary":"Generar Md Grupo","description":"Genera el documento Markdown del grupo usando LLM con datos relacionados.","operationId":"generar_md_grupo_grupos__codigo__generar_md_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/grupos/{codigo}/completo":{"delete":{"tags":["Grupos de Entidades"],"summary":"Borrar Grupo Completo","description":"Borra un grupo y TODA su data dependiente (cascada controlada).\nNo permite borrar grupos SISTEMA ni ADMIN.","operationId":"borrar_grupo_completo_grupos__codigo__completo_delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/grupos/{codigo}/entidades":{"get":{"tags":["Grupos de Entidades"],"summary":"Listar Entidades Grupo","description":"Lista todas las entidades que pertenecen a un grupo específico.","operationId":"listar_entidades_grupo_grupos__codigo__entidades_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/grupos/{codigo}/parametros":{"get":{"tags":["Grupos de Entidades"],"summary":"Listar Parametros Grupo","operationId":"listar_parametros_grupo_grupos__codigo__parametros_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ParametroGrupoResponse"},"title":"Response Listar Parametros Grupo Grupos  Codigo  Parametros Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Grupos de Entidades"],"summary":"Upsert Parametro Grupo","operationId":"upsert_parametro_grupo_grupos__codigo__parametros_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParametroGrupoCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/grupos/{codigo}/usuarios":{"get":{"tags":["Grupos de Entidades"],"summary":"Listar Usuarios Grupo","description":"Lista usuarios cuyo grupo_por_defecto es este grupo.","operationId":"listar_usuarios_grupo_grupos__codigo__usuarios_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Grupos de Entidades"],"summary":"Asignar Usuario Grupo","description":"Cambia el grupo_por_defecto del usuario a este grupo.\nActualiza atómicamente: grupo_por_defecto, id_rol_principal (primer rol del\nnuevo grupo), entidad_por_defecto (NULL), codigo_area (NULL),\naplicacion_por_defecto (NULL).","operationId":"asignar_usuario_grupo_grupos__codigo__usuarios_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsuarioGrupoAsignar"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/grupos/{codigo}/usuarios/{usuario_codigo}":{"delete":{"tags":["Grupos de Entidades"],"summary":"Quitar Usuario Grupo","description":"Operación no soportada: no se puede quitar un usuario de su grupo sin asignar otro.","operationId":"quitar_usuario_grupo_grupos__codigo__usuarios__usuario_codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"usuario_codigo","in":"path","required":true,"schema":{"type":"string","title":"Usuario Codigo"}}],"responses":{"410":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/perfil-tenant":{"get":{"tags":["Perfil de la organización"],"summary":"Leer","description":"Perfil del grupo y la entidad activos. El rango lo exige la regla única de\ndisponibilidad sobre esta ruta (GEST_ENTIDADES), como en PUT: una API key\natada a un rol sin esa función recibe 403 (medido en TEST, 18-sep).","operationId":"leer_perfil_tenant_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_entidad","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Perfil de la organización"],"summary":"Guardar","description":"Escribe los campos presentes. Delega en `actualizar_grupo` /\n`actualizar_entidad` para no duplicar sus guardas ni su auditoría. El rango\nlo exige la regla única de disponibilidad sobre esta ruta (GEST_ENTIDADES).","operationId":"guardar_perfil_tenant_put","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerfilUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/perfil-tenant/redaccion":{"post":{"tags":["Perfil de la organización"],"summary":"Redactar","description":"Propone un borrador de los cuatro textos. **No guarda nada**: el llamador\nrevisa y, si le sirve, lo manda por `PUT`.","operationId":"redactar_perfil_tenant_redaccion_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedaccionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/datos-basicos/categorias":{"get":{"tags":["Datos Básicos"],"summary":"Listar Categorias","operationId":"listar_categorias_datos_basicos_categorias_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Datos Básicos"],"summary":"Crear Categoria","operationId":"crear_categoria_datos_basicos_categorias_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/datos-basicos/categorias/paginado":{"get":{"tags":["Datos Básicos"],"summary":"Listar Categorias Paginado","operationId":"listar_categorias_paginado_datos_basicos_categorias_paginado_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/datos-basicos/categorias/reordenar":{"put":{"tags":["Datos Básicos"],"summary":"Reordenar Categorias","description":"Body: [{categoria_parametro, orden}, ...]","operationId":"reordenar_categorias_datos_basicos_categorias_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/datos-basicos/categorias/{categoria}":{"put":{"tags":["Datos Básicos"],"summary":"Actualizar Categoria","operationId":"actualizar_categoria_datos_basicos_categorias__categoria__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Datos Básicos"],"summary":"Eliminar Categoria","operationId":"eliminar_categoria_datos_basicos_categorias__categoria__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/datos-basicos/tipos":{"get":{"tags":["Datos Básicos"],"summary":"Listar Tipos","operationId":"listar_tipos_datos_basicos_tipos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categoria"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Datos Básicos"],"summary":"Crear Tipo","operationId":"crear_tipo_datos_basicos_tipos_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/datos-basicos/tipos/paginado":{"get":{"tags":["Datos Básicos"],"summary":"Listar Tipos Paginado","operationId":"listar_tipos_paginado_datos_basicos_tipos_paginado_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"categoria","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categoria"}},{"name":"app","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por aplicación asociada (rel_aplicacion_parametro)","title":"App"},"description":"Filtrar por aplicación asociada (rel_aplicacion_parametro)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/datos-basicos/tipos/reordenar":{"put":{"tags":["Datos Básicos"],"summary":"Reordenar Tipos","description":"Body: [{categoria_parametro, tipo_parametro, orden}, ...]","operationId":"reordenar_tipos_datos_basicos_tipos_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/datos-basicos/tipos/{categoria}/{tipo}":{"put":{"tags":["Datos Básicos"],"summary":"Actualizar Tipo","operationId":"actualizar_tipo_datos_basicos_tipos__categoria___tipo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Datos Básicos"],"summary":"Eliminar Tipo","operationId":"eliminar_tipo_datos_basicos_tipos__categoria___tipo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/datos-basicos/categorias/{categoria}/generar-md":{"post":{"tags":["Datos Básicos"],"summary":"Generar Md Categoria","operationId":"generar_md_categoria_datos_basicos_categorias__categoria__generar_md_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/datos-basicos/tipos/{categoria}/{tipo}/generar-md":{"post":{"tags":["Datos Básicos"],"summary":"Generar Md Tipo","operationId":"generar_md_tipo_datos_basicos_tipos__categoria___tipo__generar_md_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones":{"get":{"tags":["Aplicaciones"],"summary":"Listar Aplicaciones","description":"Lista aplicaciones. Si se indica codigo_grupo, filtra por rel_aplicacion_grupo.\nSin grupo retorna todas las aplicaciones (para pantalla de administración).","operationId":"listar_aplicaciones_aplicaciones_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_grupo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AplicacionResponse"},"title":"Response Listar Aplicaciones Aplicaciones Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Aplicaciones"],"summary":"Crear Aplicacion","operationId":"crear_aplicacion_aplicaciones_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AplicacionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AplicacionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/reordenar":{"put":{"tags":["Aplicaciones"],"summary":"Reordenar Aplicaciones","operationId":"reordenar_aplicaciones_aplicaciones_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ReordenarAppItem"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/aplicaciones/{codigo}":{"put":{"tags":["Aplicaciones"],"summary":"Actualizar Aplicacion","operationId":"actualizar_aplicacion_aplicaciones__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AplicacionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AplicacionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Aplicaciones"],"summary":"Eliminar Aplicacion","operationId":"eliminar_aplicacion_aplicaciones__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/{codigo}/funciones":{"get":{"tags":["Aplicaciones"],"summary":"Funciones De Aplicacion","operationId":"funciones_de_aplicacion_aplicaciones__codigo__funciones_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Aplicaciones"],"summary":"Asignar Funcion A Aplicacion","operationId":"asignar_funcion_a_aplicacion_aplicaciones__codigo__funciones_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FuncionAplicacionAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/{codigo}/funciones/{funcion}":{"patch":{"tags":["Aplicaciones"],"summary":"Actualizar Rel Funcion Aplicacion","operationId":"actualizar_rel_funcion_aplicacion_aplicaciones__codigo__funciones__funcion__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"funcion","in":"path","required":true,"schema":{"type":"string","title":"Funcion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActualizarRelFuncionApp"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Aplicaciones"],"summary":"Quitar Funcion De Aplicacion","operationId":"quitar_funcion_de_aplicacion_aplicaciones__codigo__funciones__funcion__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"funcion","in":"path","required":true,"schema":{"type":"string","title":"Funcion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/{codigo}/funciones/reordenar":{"put":{"tags":["Aplicaciones"],"summary":"Reordenar Funciones Aplicacion","operationId":"reordenar_funciones_aplicacion_aplicaciones__codigo__funciones_reordenar_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReordenarFuncionItem"},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/{codigo}/grupos":{"get":{"tags":["Aplicaciones"],"summary":"Grupos De Aplicacion","description":"Lista los grupos asignados a una aplicación.\n\nE12 (EJEC 10 S08): el padrón completo (código y nombre de cada tenant) solo lo\nve el operador global; cualquier otro rango que la regla única deje pasar ve\núnicamente su grupo activo.","operationId":"grupos_de_aplicacion_aplicaciones__codigo__grupos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Aplicaciones"],"summary":"Asignar Grupo A Aplicacion","description":"Asigna una aplicación a un grupo.","operationId":"asignar_grupo_a_aplicacion_aplicaciones__codigo__grupos_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/{codigo}/grupos/{grupo}":{"delete":{"tags":["Aplicaciones"],"summary":"Quitar Grupo De Aplicacion","description":"Quita una aplicación de un grupo.","operationId":"quitar_grupo_de_aplicacion_aplicaciones__codigo__grupos__grupo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"grupo","in":"path","required":true,"schema":{"type":"string","title":"Grupo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/{codigo}/generar-md":{"post":{"tags":["Aplicaciones"],"summary":"Generar Md Aplicacion","operationId":"generar_md_aplicacion_aplicaciones__codigo__generar_md_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/{codigo}/parametros":{"get":{"tags":["Aplicaciones"],"summary":"Parametros De Aplicacion","operationId":"parametros_de_aplicacion_aplicaciones__codigo__parametros_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Aplicaciones"],"summary":"Asignar Parametro A Aplicacion","operationId":"asignar_parametro_a_aplicacion_aplicaciones__codigo__parametros_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParametroAppAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/{codigo}/parametros/orden":{"put":{"tags":["Aplicaciones"],"summary":"Reordenar Parametros De Aplicacion","operationId":"reordenar_parametros_de_aplicacion_aplicaciones__codigo__parametros_orden_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ParametroAppOrden"},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/{codigo}/parametros/{categoria}/{tipo}":{"delete":{"tags":["Aplicaciones"],"summary":"Quitar Parametro De Aplicacion","operationId":"quitar_parametro_de_aplicacion_aplicaciones__codigo__parametros__categoria___tipo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/{codigo}/categorias-proceso":{"get":{"tags":["Aplicaciones"],"summary":"Categorias Proceso De Aplicacion","operationId":"categorias_proceso_de_aplicacion_aplicaciones__codigo__categorias_proceso_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Aplicaciones"],"summary":"Asignar Categoria Proceso A Aplicacion","operationId":"asignar_categoria_proceso_a_aplicacion_aplicaciones__codigo__categorias_proceso_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaProcesoAppAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/{codigo}/categorias-proceso/orden":{"put":{"tags":["Aplicaciones"],"summary":"Reordenar Categorias Proceso De Aplicacion","operationId":"reordenar_categorias_proceso_de_aplicacion_aplicaciones__codigo__categorias_proceso_orden_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CategoriaProcesoAppOrden"},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/{codigo}/categorias-proceso/{codigo_categoria}":{"delete":{"tags":["Aplicaciones"],"summary":"Quitar Categoria Proceso De Aplicacion","operationId":"quitar_categoria_proceso_de_aplicacion_aplicaciones__codigo__categorias_proceso__codigo_categoria__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"codigo_categoria","in":"path","required":true,"schema":{"type":"string","title":"Codigo Categoria"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/{codigo}/habilidades":{"get":{"tags":["Aplicaciones"],"summary":"Habilidades De Aplicacion","operationId":"habilidades_de_aplicacion_aplicaciones__codigo__habilidades_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Aplicaciones"],"summary":"Asignar Habilidad A Aplicacion","operationId":"asignar_habilidad_a_aplicacion_aplicaciones__codigo__habilidades_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HabilidadAppAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/{codigo}/habilidades/orden":{"put":{"tags":["Aplicaciones"],"summary":"Reordenar Habilidades De Aplicacion","operationId":"reordenar_habilidades_de_aplicacion_aplicaciones__codigo__habilidades_orden_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HabilidadAppOrden"},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/aplicaciones/{codigo}/habilidades/{codigo_habilidad}":{"delete":{"tags":["Aplicaciones"],"summary":"Quitar Habilidad De Aplicacion","operationId":"quitar_habilidad_de_aplicacion_aplicaciones__codigo__habilidades__codigo_habilidad__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"codigo_habilidad","in":"path","required":true,"schema":{"type":"string","title":"Codigo Habilidad"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tareas/tareas-lista":{"get":{"tags":["Tareas"],"summary":"Listar Tareas","operationId":"listar_tareas_tareas_tareas_lista_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categoria"}},{"name":"tipo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo"}},{"name":"estado","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado"}},{"name":"prioridad","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prioridad"}},{"name":"conversacion","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conversacion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Tareas"],"summary":"Crear Tarea","operationId":"crear_tarea_tareas_tareas_lista_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TareaCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tareas/tareas-lista/{id_tarea}":{"get":{"tags":["Tareas"],"summary":"Obtener Tarea","operationId":"obtener_tarea_tareas_tareas_lista__id_tarea__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_tarea","in":"path","required":true,"schema":{"type":"integer","title":"Id Tarea"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Tareas"],"summary":"Actualizar Tarea","operationId":"actualizar_tarea_tareas_tareas_lista__id_tarea__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_tarea","in":"path","required":true,"schema":{"type":"integer","title":"Id Tarea"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TareaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tareas"],"summary":"Eliminar Tarea","operationId":"eliminar_tarea_tareas_tareas_lista__id_tarea__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_tarea","in":"path","required":true,"schema":{"type":"integer","title":"Id Tarea"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tareas/tareas-lista/{id_tarea}/resolver-documentacion":{"post":{"tags":["Tareas"],"summary":"Resolver Documentacion Tarea","operationId":"resolver_documentacion_tarea_tareas_tareas_lista__id_tarea__resolver_documentacion_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_tarea","in":"path","required":true,"schema":{"type":"integer","title":"Id Tarea"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolverRevisionDocumentacion"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tareas-datos-basicos/categorias":{"get":{"tags":["Tareas - Datos Básicos"],"summary":"Listar Categorias Tarea","operationId":"listar_categorias_tarea_tareas_datos_basicos_categorias_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Tareas - Datos Básicos"],"summary":"Crear Categoria Tarea","operationId":"crear_categoria_tarea_tareas_datos_basicos_categorias_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaTareaCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tareas-datos-basicos/categorias/reordenar":{"put":{"tags":["Tareas - Datos Básicos"],"summary":"Reordenar Categorias Tarea","description":"Body: [{codigo_categoria_tarea, orden}, ...]","operationId":"reordenar_categorias_tarea_tareas_datos_basicos_categorias_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tareas-datos-basicos/categorias/{codigo}":{"put":{"tags":["Tareas - Datos Básicos"],"summary":"Actualizar Categoria Tarea","operationId":"actualizar_categoria_tarea_tareas_datos_basicos_categorias__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaTareaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tareas - Datos Básicos"],"summary":"Eliminar Categoria Tarea","operationId":"eliminar_categoria_tarea_tareas_datos_basicos_categorias__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tareas-datos-basicos/tipos-canonicos":{"get":{"tags":["Tareas - Datos Básicos"],"summary":"Listar Tipos Canonicos Tarea","operationId":"listar_tipos_canonicos_tarea_tareas_datos_basicos_tipos_canonicos_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Tareas - Datos Básicos"],"summary":"Crear Tipo Canonico Tarea","operationId":"crear_tipo_canonico_tarea_tareas_datos_basicos_tipos_canonicos_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoCanonicoTareaCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tareas-datos-basicos/tipos-canonicos/{codigo}":{"put":{"tags":["Tareas - Datos Básicos"],"summary":"Actualizar Tipo Canonico Tarea","operationId":"actualizar_tipo_canonico_tarea_tareas_datos_basicos_tipos_canonicos__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoCanonicoTareaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tareas - Datos Básicos"],"summary":"Eliminar Tipo Canonico Tarea","operationId":"eliminar_tipo_canonico_tarea_tareas_datos_basicos_tipos_canonicos__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tareas-datos-basicos/canonicos-proceso":{"get":{"tags":["Tareas - Datos Básicos"],"summary":"Listar Canonicos Proceso","operationId":"listar_canonicos_proceso_tareas_datos_basicos_canonicos_proceso_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Tareas - Datos Básicos"],"summary":"Crear Canonico Proceso","operationId":"crear_canonico_proceso_tareas_datos_basicos_canonicos_proceso_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstadoCanonicoProcesoCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tareas-datos-basicos/canonicos-proceso/reordenar":{"put":{"tags":["Tareas - Datos Básicos"],"summary":"Reordenar Canonicos Proceso","description":"Body: [{codigo_estado_canonico, orden}, ...]","operationId":"reordenar_canonicos_proceso_tareas_datos_basicos_canonicos_proceso_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tareas-datos-basicos/canonicos-proceso/{codigo}":{"put":{"tags":["Tareas - Datos Básicos"],"summary":"Actualizar Canonico Proceso","operationId":"actualizar_canonico_proceso_tareas_datos_basicos_canonicos_proceso__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstadoCanonicoProcesoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tareas - Datos Básicos"],"summary":"Eliminar Canonico Proceso","operationId":"eliminar_canonico_proceso_tareas_datos_basicos_canonicos_proceso__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tareas-datos-basicos/canonicos-tarea":{"get":{"tags":["Tareas - Datos Básicos"],"summary":"Listar Canonicos Tarea","operationId":"listar_canonicos_tarea_tareas_datos_basicos_canonicos_tarea_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Tareas - Datos Básicos"],"summary":"Crear Canonico Tarea","operationId":"crear_canonico_tarea_tareas_datos_basicos_canonicos_tarea_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstadoCanonicoTareaCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tareas-datos-basicos/canonicos-tarea/{codigo}":{"put":{"tags":["Tareas - Datos Básicos"],"summary":"Actualizar Canonico Tarea","operationId":"actualizar_canonico_tarea_tareas_datos_basicos_canonicos_tarea__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstadoCanonicoTareaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tareas - Datos Básicos"],"summary":"Eliminar Canonico Tarea","operationId":"eliminar_canonico_tarea_tareas_datos_basicos_canonicos_tarea__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tareas-datos-basicos/tipos-conversacion":{"get":{"tags":["Tareas - Datos Básicos"],"summary":"Listar Tipos Conversacion","operationId":"listar_tipos_conversacion_tareas_datos_basicos_tipos_conversacion_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Tareas - Datos Básicos"],"summary":"Crear Tipo Conversacion","operationId":"crear_tipo_conversacion_tareas_datos_basicos_tipos_conversacion_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoConversacionCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tareas-datos-basicos/tipos-conversacion/{codigo}":{"put":{"tags":["Tareas - Datos Básicos"],"summary":"Actualizar Tipo Conversacion","operationId":"actualizar_tipo_conversacion_tareas_datos_basicos_tipos_conversacion__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoConversacionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tareas - Datos Básicos"],"summary":"Eliminar Tipo Conversacion","operationId":"eliminar_tipo_conversacion_tareas_datos_basicos_tipos_conversacion__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tareas-datos-basicos/tipos-tarea":{"get":{"tags":["Tareas - Datos Básicos"],"summary":"Listar Tipos Tarea","operationId":"listar_tipos_tarea_tareas_datos_basicos_tipos_tarea_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categoria"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Tareas - Datos Básicos"],"summary":"Crear Tipo Tarea","operationId":"crear_tipo_tarea_tareas_datos_basicos_tipos_tarea_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoTareaCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tareas-datos-basicos/tipos-tarea/reordenar":{"put":{"tags":["Tareas - Datos Básicos"],"summary":"Reordenar Tipos Tarea","description":"Body: [{codigo_categoria_tarea, codigo_tipo_tarea, orden}, ...]","operationId":"reordenar_tipos_tarea_tareas_datos_basicos_tipos_tarea_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tareas-datos-basicos/tipos-tarea/{categoria}/{codigo}":{"put":{"tags":["Tareas - Datos Básicos"],"summary":"Actualizar Tipo Tarea","operationId":"actualizar_tipo_tarea_tareas_datos_basicos_tipos_tarea__categoria___codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoTareaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tareas - Datos Básicos"],"summary":"Eliminar Tipo Tarea","operationId":"eliminar_tipo_tarea_tareas_datos_basicos_tipos_tarea__categoria___codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tareas-datos-basicos/estados-tarea":{"get":{"tags":["Tareas - Datos Básicos"],"summary":"Listar Estados Tarea","operationId":"listar_estados_tarea_tareas_datos_basicos_estados_tarea_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categoria"}},{"name":"tipo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Tareas - Datos Básicos"],"summary":"Crear Estado Tarea","operationId":"crear_estado_tarea_tareas_datos_basicos_estados_tarea_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstadoTareaCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tareas-datos-basicos/estados-tarea/reordenar":{"put":{"tags":["Tareas - Datos Básicos"],"summary":"Reordenar Estados Tarea","description":"Body: [{codigo_categoria_tarea, codigo_tipo_tarea, codigo_estado_tarea, orden}, ...]","operationId":"reordenar_estados_tarea_tareas_datos_basicos_estados_tarea_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tareas-datos-basicos/estados-tarea/{categoria}/{tipo}/{codigo}":{"put":{"tags":["Tareas - Datos Básicos"],"summary":"Actualizar Estado Tarea","operationId":"actualizar_estado_tarea_tareas_datos_basicos_estados_tarea__categoria___tipo___codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}},{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstadoTareaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tareas - Datos Básicos"],"summary":"Eliminar Estado Tarea","operationId":"eliminar_estado_tarea_tareas_datos_basicos_estados_tarea__categoria___tipo___codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}},{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tareas-grupo":{"get":{"tags":["Tareas del Grupo"],"summary":"Listar Tareas Grupo","operationId":"listar_tareas_grupo_tareas_grupo_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_entidad","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TareaGrupoResponse"},"title":"Response Listar Tareas Grupo Tareas Grupo Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Tareas del Grupo"],"summary":"Crear Tarea Grupo","operationId":"crear_tarea_grupo_tareas_grupo_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TareaGrupoCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TareaGrupoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tareas-grupo/reordenar":{"put":{"tags":["Tareas del Grupo"],"summary":"Reordenar Tareas Grupo","operationId":"reordenar_tareas_grupo_tareas_grupo_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TareaGrupoOrden"},"type":"array","maxItems":500,"title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tareas-grupo/{id_tarea_grupo}":{"get":{"tags":["Tareas del Grupo"],"summary":"Obtener Tarea Grupo","operationId":"obtener_tarea_grupo_tareas_grupo__id_tarea_grupo__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_tarea_grupo","in":"path","required":true,"schema":{"type":"integer","title":"Id Tarea Grupo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TareaGrupoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Tareas del Grupo"],"summary":"Actualizar Tarea Grupo","operationId":"actualizar_tarea_grupo_tareas_grupo__id_tarea_grupo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_tarea_grupo","in":"path","required":true,"schema":{"type":"integer","title":"Id Tarea Grupo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TareaGrupoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TareaGrupoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tareas del Grupo"],"summary":"Eliminar Tarea Grupo","operationId":"eliminar_tarea_grupo_tareas_grupo__id_tarea_grupo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_tarea_grupo","in":"path","required":true,"schema":{"type":"integer","title":"Id Tarea Grupo"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documentos":{"get":{"tags":["Documentos"],"summary":"Listar Documentos","description":"Lista documentos filtrados por grupo activo. Filtros opcionales para reducir payload.\n\n`orden=antiguedad` (solo con `codigo_estado_doc=CARGADO`) entrega la fila de\nEXTRAER: primero el que lleva más tiempo sin tocarse, así lo que acaba de\nfallar queda al final.\n\nSigue retornando la lista completa para preservar callers de dashboards\ny pantallas de procesamiento que necesitan todos los ítems. Si vas a\nmostrar una tabla grande paginada, usa `/documentos/paginado`.\n\n`codigo_ubicacion` limita al subárbol de esa carpeta. Hasta sep-2026 este\nendpoint no lo declaraba y el navegador lo mandaba igual: FastAPI lo\ndescartaba en silencio, EXTRAER tomaba todos los CARGADO del área y marcaba\nNO_ENCONTRADO los que la carpeta abierta en el navegador no alcanzaba, y \"Revertir\"\ndevolvía a CHUNKEADO todos los VECTORIZADO en vez de los de la carpeta\n(REVISION_FASES_ALIMENTACION_INDEPENDIENTES §6, riesgo 2).","operationId":"listar_documentos_documentos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_estado_doc","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Doc"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"ruta_prefijo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ruta Prefijo"}},{"name":"codigo_ubicacion","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}},{"name":"orden","in":"query","required":false,"schema":{"enum":["nombre","antiguedad"],"type":"string","default":"nombre","title":"Orden"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DocumentoResponse"},"title":"Response Listar Documentos Documentos Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documentos/paginado":{"get":{"tags":["Documentos"],"summary":"Listar Documentos Paginado","description":"Lista los documentos del grupo activo con paginación. Es el endpoint principal\npara explorar el corpus desde un integrador externo.\n\nSolo retorna documentos del `grupo_activo` del usuario autenticado — el aislamiento\nmulti-tenant es automático vía la vista `v_documentos_disponibles`.\n\n**Parámetros útiles para integradores:**\n\n| Parámetro | Tipo | Descripción |\n|---|---|---|\n| `page` | int | Página (default 1) |\n| `limit` | int | Docs por página, máx 500 (default 50) |\n| `codigo_estado_doc` | str | Filtrar por estado: `VECTORIZADO`, `ESCANEADO`, `CHUNKEADO`, `CARGADO`, `METADATA`, `NO_ESCANEABLE`, `REVISAR` |\n| `codigo_tipo_documento` | str | Filtrar por tipo de documento asignado en la ingesta; `__SIN_TIPO__` = documentos sin tipo |\n| `q` | str | Búsqueda por nombre de documento (ILIKE) |\n| `ruta_prefijo` | str | Filtrar por carpeta/ubicación y sus descendientes |\n\n**Para RAG:** usar `codigo_estado_doc=VECTORIZADO` para listar solo los docs\nque ya tienen embeddings y están disponibles para búsqueda semántica.\n\n**Ejemplo:**\n```bash\ncurl 'https://api.ragfly.ai/documentos/paginado?codigo_estado_doc=VECTORIZADO&limit=20' \\\n  -H 'Authorization: Bearer eyJ...'\n```","operationId":"listar_documentos_paginado_documentos_paginado_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"codigo_estado_doc","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Doc"}},{"name":"tipo_estado","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Estado"}},{"name":"codigo_tipo_documento","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Documento"}},{"name":"document_type_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type Id"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"ruta_prefijo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ruta Prefijo"}},{"name":"codigo_ubicacion","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"}},{"name":"orden_por","in":"query","required":false,"schema":{"type":"string","default":"nombre","title":"Orden Por"}},{"name":"orden_dir","in":"query","required":false,"schema":{"type":"string","default":"asc","title":"Orden Dir"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentosPaginadosResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documentos/contar-por-estado":{"get":{"tags":["Documentos"],"summary":"Contar Por Estado","description":"Devuelve conteo de documentos por estado + errores de análisis IA.\n\nUsado por la pantalla /process-pipeline (modo Cloud) para mostrar el estado.\nEstructura UNIFICADA con el modo Desktop (`statusLocal`): además de los\nconteos por estado, expone `errores_analisis` y `ultimo_error_analisis` con\nel MISMO contrato que el cliente local, para que el frontend pinte el mismo\nbanner ámbar (función única `avisoErroresAnalisis`) sin importar la\nsuperficie. Esos docs avanzaron a ESCANEADO con `[ERR:...]` en\n`detalle_estado` (cuota/saldo/red del proveedor LLM) y antes quedaban\ninvisibles en el Cloud.","operationId":"contar_por_estado_documentos_contar_por_estado_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/documentos/{codigo_documento}":{"get":{"tags":["Documentos"],"summary":"Obtener Documento","description":"Retorna un documento por su codigo, validando multi-tenant.\n\nUsado por el modal de detalle (`/process-documents`) y por el chat para\nabrir un documento citado en una respuesta (link `/documentos?codigo=N`).\nSi no existe en el grupo activo del usuario, devuelve 404.\n\n`resumen_documento` y `md` viajan cifrados en BD (prefijo `ENC:`). Aquí se\ndescifran con la clave del grupo y se re-cifran con la clave del usuario,\nde modo que el cliente los descifre vía el componente `<TextoCifrado>` al\npresionar el botón \"Desencriptar\".\n\nAdicionalmente se resuelve `nombre_tipo_documento` haciendo join contra\n`tipos_documento` para que el modal lo muestre directo en el tab Datos.\n\nFrontera externa (reenvío firmado de `/v1` y MCP), decisión del usuario\n2026-09-16: el agente recibe el RESUMEN en claro y NUNCA el `md`. El texto\ndel documento no se devuelve por ninguna superficie externa; el `md` es a\nveces la ficha armada por el sistema y a veces el texto completo, así que\nno cruza en ningún caso.","operationId":"obtener_documento_documentos__codigo_documento__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Documentos"],"summary":"Actualizar Documento","operationId":"actualizar_documento_documentos__codigo_documento__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Documentos"],"summary":"Desactivar Documento","operationId":"desactivar_documento_documentos__codigo_documento__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documentos/{codigo_documento}/revelar":{"get":{"tags":["Documentos"],"summary":"Revelar Contenido Documento","description":"Descifra y devuelve en claro resumen_documento y md de un documento.\n\nSolo accesible para tipo_acceso SISTEMA o rol DOCS-TEST (ver `_puede_revelar`).\nCada acceso queda auditado con accion='REVELAR_CONTENIDO'. No re-cifra para el\nnavegador: el texto viaja como string plano por TLS. Nunca por la frontera\nexterna (`_rechazar_texto_en_frontera`).","operationId":"revelar_contenido_documento_documentos__codigo_documento__revelar_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documentos/{codigo_documento}/arcos":{"get":{"tags":["Documentos"],"summary":"Arcos Documento","description":"Arcos del grafo del corpus de un documento (F1 del grafo del corpus —\ndocs/planes/PLAN_ALIMENTACION.md W8, sucesor del PLAN_GRAFO_DEL_CORPUS\narchivado 2026-07-25).\n\nDado un documento, devuelve sus **nodos vecinos** — tipo (con la ruta del\nárbol de tipos), características (entidades nombradas, montos, fechas,\nidentificadores), ubicación (con su ruta) y formato — y los **documentos a\n2 saltos** que comparten un valor de característica con él.\n\nNo usa LLM ni tablas nuevas: SQL plano sobre el modelo existente. El RBAC\n(grupo/entidad/área/rol) se resuelve automáticamente desde el token vía\n`v_documentos_disponibles` — el integrador no envía filtros de contexto, y un\ndocumento fuera de su alcance nunca aparece (ni como ancla ni como vecino).","operationId":"arcos_documento_documentos__codigo_documento__arcos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}},{"name":"limite_vecinos","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limite Vecinos"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documentos/revertir":{"post":{"tags":["Documentos"],"summary":"Revertir Documentos Masivo","description":"Revierte documentos al estado anterior aplicando filtros combinados:\nestados_origen + q (nombre) + codigo_ubicacion (closure) + codigo_entidad + tope.\n\nÚnica puerta de toda vuelta atrás (REGLAS §16.bis): la pantalla manda\ncriterios, no una lista de documentos. El conjunto se resuelve en la BD como\nuna corrida `REVERTIR_PROCESAR_DOCS` y todos los DML cruzan con sus filas de\ncola. Lo que el usuario no ve por su área no entra al conjunto.\n\nTres gestos, una puerta: reversa de un paso; `segun_texto` restablece los\ndescartados (con texto → METADATA, sin texto → CARGADO, en dos corridas);\n`limpieza_completa` los devuelve al comienzo borrando todo lo derivado.\n\nRango por el dato (D28, usuario 17-sep): el gesto de UNA fila\n(`codigo_documento`, el doble clic del detalle de `/documents`) queda para\nel rango USUARIO, acotado a lo que ve por su área. En bloque —sin\n`codigo_documento`— mueve o borra un conjunto: solo ADMINISTRADOR o superior.\nContar (`solo_contar`) no escribe y no se restringe.","operationId":"revertir_documentos_masivo_documentos_revertir_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevertirMasivoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevertirMasivoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/documentos/reanalizar-parcial":{"post":{"tags":["Documentos"],"summary":"Reanalizar Parcial","description":"Segunda pasada barata sobre documentos VECTORIZADO de la entidad activa\n(PLAN_GRAFO_FLUJOS_CLIENTE F0): encola UNA sub-habilidad de ANALIZAR sin OCR,\nsin resumen y sin re-embeber. Si la tipificación cambia el tipo, se re-extraen\nsolo las características de ese documento. Lo drena el worker; el avance se ve\nen el proceso PROCESAR_DOCS/REANALIZAR_PARCIAL que devuelve. Solo el\nadministrador del grupo: cada documento cuesta una llamada LLM.","operationId":"reanalizar_parcial_documentos_reanalizar_parcial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReanalizarParcialRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/documentos/ausentes":{"post":{"tags":["Documentos"],"summary":"Registrar Ausencias Observadas","description":"El barrido del navegador no vio el archivo de estos documentos.\n\nNo borra por orden de la pantalla: suma la ausencia al contador del\ndocumento y, cuando se confirma en un segundo barrido, lo purga — el mismo\nmecanismo que ya usan Drive, Dropbox, OneDrive y Desktop (plan §8.3/§8.18).\nAlcance: los documentos en CARGADO de la carpeta barrida que el usuario ve.","operationId":"registrar_ausencias_observadas_documentos_ausentes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AusenciasObservadasRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AusenciasObservadasResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/documentos/marcar-revisar":{"post":{"tags":["Documentos"],"summary":"Marcar Documento Revisar","description":"Aparta a REVISAR UN documento que no puede seguir el recorrido.\n\nEs un gesto puntual: hoy lo usa EXTRAER cuando el archivo pasa del tamaño\nmáximo o el extractor no pudo con él. El estado REVISAR vive en la categoría\nCORREGIR_PROCESAR_DOCS; el trigger `fn_documentos_coordenadas_estado` deriva\n(codigo_categoria_proceso, codigo_tipo_proceso), así que basta con escribir\ncodigo_estado_doc='REVISAR'.\n\nDetectar atascos NO es trabajo de este endpoint ni del navegador (universos,\nbloque E). El vigilante de fondo que juzgaba por el rastro de la cola se\nretiró el 2026-09-20 (`2953ab01`, mig 1512). El detector del navegador mandaba hasta ~2.000 códigos de una vez y\nel 2026-07-31 apartó 1.132 documentos sanos de un grupo, leyendo como\natascado un lote que estaba detenido a propósito.\n\nIgual se conserva la frontera: un documento ya VECTORIZADO, o fuera del\npipeline (terminales soft NO_*/REVISAR), no está atascado y se omite.","operationId":"marcar_documento_revisar_documentos_marcar_revisar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarcarRevisarRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarcarRevisarResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/documentos/extraccion-fallida":{"post":{"tags":["Documentos"],"summary":"Registrar Fallas Extraccion","description":"Deja constancia de un EXTRAER del navegador que no pudo con un documento.\n\nHay fallas que no prueban nada sobre el archivo (Drive no respondió, la\nreferencia no se pudo rearmar, el OCR no contestó) y por eso el documento se\nqueda en CARGADO para reintentarse, sin pasar a REVISAR. Hasta sep-2026 esas\nfallas quedaban solo en la pantalla: IANET (TEST, 2026-09-15) extrajo 15\ndocumentos a las 20:37 y ningún otro en los 40 minutos siguientes, con 8.357\nen CARGADO, la cola sin una fila de error y ningún `detalle_estado`.\n\nPor documento en CARGADO: una fila CARGADO→METADATA en ERROR en la cola (el\nhistorial del pipeline, que `marcar-revisar` ya lee como causa real) y el\nmotivo en `detalle_estado`. `updated_at` pasa a ahora: con\n`GET /documentos?orden=antiguedad` el documento vuelve al final de la fila\nde candidatos, así que un bloque que falla no tapa a los que vienen detrás.\nLo que ya salió de CARGADO (la respuesta se perdió pero el texto llegó) o no\nes visible para el usuario se omite.\n\nTope (sep-2026): en las etapas de `ETAPAS_CON_TOPE`, la falla número\n`MAX_INTENTOS_EXTRACCION` consecutiva aparta el documento a REVISAR con la\ncausa y el conteo en `detalle_estado`. Antes no había tope: un PDF escaneado\ncuyo OCR dura más que el proxy (502 a los 300 s, Ajax SPA de CAB LTDA) se\nhabría reintentado para siempre, y un timeout de BD iba directo a REVISAR\nsin reintento. Al apartar se borran sus filas ERROR de EXTRAER —igual que\n`marcar-revisar` vacía la cola—, así un reproceso manual parte de cero.","operationId":"registrar_fallas_extraccion_documentos_extraccion_fallida_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistrarFallasExtraccionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistrarFallasExtraccionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/documentos/{codigo_documento}/texto":{"post":{"tags":["Documentos"],"summary":"Subir Texto Documento","description":"Recibe el texto fuente del documento extraído por el navegador y avanza\nel documento a estado METADATA (o a un estado terminal soft si el navegador\nreporta condición de fallo). Este endpoint NO llama al LLM; es el paso\nprevio al procesador de cola backend que procesará RESUMIR y siguientes.","operationId":"subir_texto_documento_documentos__codigo_documento__texto_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentoTextoRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentoTextoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Documentos"],"summary":"Obtener Texto Documento","description":"Devuelve el texto_fuente extraído del documento (tabla documento_texto).\n\nUsado por el tab \"Texto\" del modal de /documentos para revisar visualmente\nqué texto se extrajo en el paso EXTRAER, antes de ANALIZAR/CHUNKEAR.\n\n`revelar=true` + `_puede_revelar` (SISTEMA o rol DOCS-TEST): `texto_fuente`\nviaja en claro (string) y se audita; si no, viaja re-cifrado como payload.\n\nFrontera externa: 404. El texto del documento no se devuelve por ninguna\nsuperficie de agente (decisión del usuario 2026-09-16).","operationId":"obtener_texto_documento_documentos__codigo_documento__texto_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}},{"name":"revelar","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Revelar"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documentos/{codigo_documento}/ocr":{"post":{"tags":["Documentos"],"summary":"Ocr Documento","description":"Intenta extraer texto de un PDF imagen-escaneado mediante OCR (Tesseract).\nSi la extracción produce texto, guarda en documento_texto y avanza a METADATA.\nSi no hay texto, marca NO_ESCANEABLE.\nSolo se llama cuando PDF.js no pudo extraer texto (sentinel NECESITA_OCR).","operationId":"ocr_documento_documentos__codigo_documento__ocr_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_ocr_documento_documentos__codigo_documento__ocr_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentoTextoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documentos/{codigo_documento}/doc":{"post":{"tags":["Documentos"],"summary":"Doc Documento","description":"Extrae en el servidor el texto de un binario que el navegador no sabe leer.\n\nDespacha por contenido, no por nombre: una instancia XBRL pasa por el lector\ndel motor único (`ragfly_core.texto_xbrl`); lo demás es un .doc binario (Word\npre-2007, formato OLE) y va a antiword.\nSi la extracción produce texto, guarda en documento_texto y avanza a METADATA.\nSi no, marca NO_ESCANEABLE.","operationId":"doc_documento_documentos__codigo_documento__doc_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_doc_documento_documentos__codigo_documento__doc_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentoTextoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documentos/cargar-desde-ubicaciones":{"post":{"tags":["Documentos"],"summary":"Cargar Documentos Desde Ubicaciones","description":"Carga masiva de documentos desde archivos escaneados del filesystem.\nDelega todo el trabajo a fn_carga_masiva_documentos (migración 100):\n- UPDATE batch de existentes (nombre+ubicacion coincide)\n- INSERT batch de nuevos + sus rels\nTodo en UNA sola llamada RPC → ~2-4s para 1500 docs.","operationId":"cargar_documentos_desde_ubicaciones_documentos_cargar_desde_ubicaciones_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CargaDocumentosRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CargaDocumentosResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/documentos/inventario-escaneo":{"post":{"tags":["Documentos"],"summary":"Registrar Inventario Escaneo","description":"Acumula una PÁGINA del inventario del escaneo en curso.\n\nIdempotente: reintentar una página tras un timeout de red no duplica ni\nfalla (mismo criterio que el UPSERT de la carga).","operationId":"registrar_inventario_escaneo_documentos_inventario_escaneo_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventarioEscaneoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventarioEscaneoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/documentos/reconciliar-escaneo":{"post":{"tags":["Documentos"],"summary":"Reconciliar Escaneo","description":"Cierra el escaneo y aplica la regla de DOS AUSENCIAS.\n\nLa primera ausencia marca el documento (sigue vivo y disponible en\nretrieval); la segunda consecutiva lo purga por el camino transaccional\núnico (`fn_purgar_documentos`). Una reaparición resetea el contador.\n\nCon `inventario_completo=False` no se confirma ninguna ausencia: un\nrecorrido parcial no puede destruir corpus.","operationId":"reconciliar_escaneo_documentos_reconciliar_escaneo_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReconciliarEscaneoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReconciliarEscaneoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/documentos/buscar-semantico":{"post":{"tags":["Documentos"],"summary":"Buscar Semantico","description":"Recuperación semántica sobre el corpus del grupo activo. Es el endpoint central\npara dar contexto a agentes de IA desde REST/MCP/CLI.\n\nUsa el **mismo motor de retrieval** que el chat web: búsqueda híbrida\n(vectorial pgvector + léxico/RRF) + rerank Cohere + RBAC completo por área.\nSolo opera sobre documentos en estado `VECTORIZADO`.\n\n**El RBAC se resuelve automáticamente** desde el token — el integrador no necesita\nenviar filtros de grupo ni entidad.\n\n**Parámetros del body:**\n\n| Campo | Tipo | Descripción |\n|---|---|---|\n| `q` | str | Pregunta o query en lenguaje natural (**requerido**) |\n| `limit` | int | Máximo de chunks a retornar (default 10) |\n| `min_similitud` | float | Umbral mínimo de relevancia 0–1 (default 0.0) |\n| `codigo_entidad` | str | Filtrar por entidad específica (opcional) |\n| `id_espacio` | int | Filtrar por Espacio de Trabajo que el usuario ve (opcional; ajeno o inexistente = 404) |\n| `ids_documento` | list[str] | Filtrar por documentos específicos (opcional) |\n\n**Ejemplos de queries reales probadas:**\n- `\"contrato de prestación de servicios con corredor de bolsa Vector Capital\"`\n- `\"estados financieros y balance de DBNet del año 2019\"`\n- `\"libro sobre la identidad cultural, mitos y leyendas de Pirque\"`\n\n**Aislamiento multi-tenant:** un token del grupo A nunca retorna chunks del grupo B,\nincluso con queries diseñadas para cruzar tenants.\n\n**Ejemplo:**\n```bash\ncurl -X POST https://api.ragfly.ai/documentos/buscar-semantico \\\n  -H 'Authorization: Bearer eyJ...' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"q\": \"contrato corredor de bolsa Vector Capital\", \"limit\": 5}'\n```","operationId":"buscar_semantico_documentos_buscar_semantico_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusquedaSemanticaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/documentos/{codigo_documento}/chunks":{"get":{"tags":["Documentos"],"summary":"Listar Chunks","description":"Devuelve los chunks generados para el documento.\n\n- Filtra por grupo_activo para seguridad multi-tenant.\n- `q`: búsqueda textual (ILIKE) en el texto del chunk.\n- Paginado: page + limit.\n- Retorna resumen estadístico + lista de chunks con posición del match resaltada.\n- Por la frontera externa (reenvío firmado de `/v1`, `/v1/operations` y MCP)\n  el texto de cada chunk sale en claro: el agente recibe los chunks como\n  texto, nunca el texto completo del documento (usuario, 2026-09-16).","operationId":"listar_chunks_documentos__codigo_documento__chunks_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"revelar","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Revelar"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChunksDocumentoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documentos/{codigo_documento}/caracteristicas":{"get":{"tags":["Documentos"],"summary":"Listar Caracteristicas","description":"Retorna características del documento agrupadas por categoría.\nLas categorías visibles son las del grupo activo + las globales (codigo_grupo NULL).\n\nLos campos cifrados en reposo (`valor_texto_docs`, `valor_numerico_docs`,\n`valor_fecha_docs`, `comentarios`) se descifran con la clave del grupo.\n\n- `revelar=false` (default): se **re-cifran con la clave de sistema** y viajan\n  como payloads `{cifrado, iv, texto_cifrado, nivel_clave}` para que el modal\n  los muestre tras pedir la clave de descifrado al usuario (path legacy).\n- `revelar=true` **y** el usuario cumple `_puede_revelar` (SISTEMA o rol\n  DOCS-TEST): se devuelven **en claro** por TLS, sin re-cifrar (revisión de\n  resultados sin manipular la clave maestra). El acceso queda auditado con\n  accion='REVELAR_CONTENIDO'. Si `revelar=true` pero el usuario no cumple el\n  gate, se ignora y se aplica el path legacy (re-cifrado).","operationId":"listar_caracteristicas_documentos__codigo_documento__caracteristicas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}},{"name":"revelar","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Revelar"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Documentos"],"summary":"Crear Caracteristica","operationId":"crear_caracteristica_documentos__codigo_documento__caracteristicas_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaracteristicaDocumentoCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaracteristicaDocumentoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documentos/{codigo_documento}/caracteristicas/{id_car}":{"put":{"tags":["Documentos"],"summary":"Actualizar Caracteristica","operationId":"actualizar_caracteristica_documentos__codigo_documento__caracteristicas__id_car__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}},{"name":"id_car","in":"path","required":true,"schema":{"type":"integer","title":"Id Car"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaracteristicaDocumentoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaracteristicaDocumentoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Documentos"],"summary":"Eliminar Caracteristica","operationId":"eliminar_caracteristica_documentos__codigo_documento__caracteristicas__id_car__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}},{"name":"id_car","in":"path","required":true,"schema":{"type":"integer","title":"Id Car"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documentos/generar-md-faltante":{"post":{"tags":["Documentos"],"summary":"Generar Md Faltante","description":"Regenera documentos.md para todos los documentos del grupo activo que tengan md IS NULL.\n\nOpera sobre cualquier estado del pipeline (CHUNKEADO, VECTORIZADO, ESCANEADO, etc.)\nsin alterar el estado del documento ni crear entradas en la cola.\nÚtil para documentos procesados antes de que se implementara la generación de MD.","operationId":"generar_md_faltante_documentos_generar_md_faltante_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerarMdFaltanteResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/documentos/orden-alimentacion":{"post":{"tags":["Documentos"],"summary":"Interpretar Orden Alimentacion","description":"Interpreta una orden en lenguaje natural del panel «Asistente de Procesamiento».\n\nVa por `ejecutar_habilidad()`, la misma puerta que RAG-ROUTER y RAG-REWRITE: de la\nfila ORDEN_ALIMENTACION salen el prompt, el modelo (con el carril A/B del grupo) y\nla etiqueta de costo. Antes elegía el modelo acá mismo con un\n`.eq(\"proveedor\",\"deepseek\").limit(1)` sin ORDER BY ni filtro de estado_valido —\norden indefinido y sin relación con el nivel que la tarea pide (mig 1085).\n\nLa ruta se llamaba `/chat-comando` y las clases `ComandoChat`/`AccionChat`: mentía\ndos veces —no es el chat, es un panel de UNA pantalla, y «comando» no decía comando\nde qué— y contradecía la regla de naming «interfaz ≠ chat» (mig 1086).","operationId":"interpretar_orden_alimentacion_documentos_orden_alimentacion_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrdenAlimentacion"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RespuestaOrdenAlimentacion"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/documentos/{codigo_documento}/publicar-compilado":{"post":{"tags":["Documentos"],"summary":"Publicar Compilado","description":"Promueve un doc CONSOLIDADO (borrador del árbol de reducción) a\nPAGINA_COMPILADA publicada: frontmatter determinista (que ES el registro\nde fuentes — membresía y [[wikilinks]] se derivan del .md, sin tablas;\nmig 924) + ubicación destino + re-entrada al pipeline (CHUNKEAR→\nVECTORIZAR) para que la página entre al RAG. Publicar = opt-in al retrieve.","operationId":"publicar_compilado_documentos__codigo_documento__publicar_compilado_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicarCompiladoRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/compilados/indice":{"get":{"tags":["Conocimiento Compilado"],"summary":"Obtener Indice Compilado","operationId":"obtener_indice_compilado_compilados_indice_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_area","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/compilados/paginas":{"get":{"tags":["Conocimiento Compilado"],"summary":"Listar Paginas Compiladas","operationId":"listar_paginas_compiladas_compilados_paginas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_area","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/compilados/paginas/{codigo_documento}":{"get":{"tags":["Conocimiento Compilado"],"summary":"Obtener Pagina Compilada","operationId":"obtener_pagina_compilada_compilados_paginas__codigo_documento__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/compilados/indice/reconstruir":{"post":{"tags":["Conocimiento Compilado"],"summary":"Reconstruir Indice Compilado","operationId":"reconstruir_indice_compilado_compilados_indice_reconstruir_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReconstruirIndiceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/positions":{"get":{"tags":["Posiciones"],"summary":"Listar Posiciones","operationId":"listar_posiciones_positions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_entidad","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PosicionResponse"},"title":"Response Listar Posiciones Positions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Posiciones"],"summary":"Crear Posicion","operationId":"crear_posicion_positions_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PosicionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PosicionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/positions/opciones-superior":{"get":{"tags":["Posiciones"],"summary":"Listar Opciones Superior","operationId":"listar_opciones_superior_positions_opciones_superior_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_posicion","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Posicion"}},{"name":"codigo_grupo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"}},{"name":"codigo_entidad","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PosicionResponse"},"title":"Response Listar Opciones Superior Positions Opciones Superior Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/positions/paginado":{"get":{"tags":["Posiciones"],"summary":"Listar Posiciones Paginado","operationId":"listar_posiciones_paginado_positions_paginado_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15,"title":"Limit"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"codigo_entidad","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/positions/{codigo_posicion}":{"get":{"tags":["Posiciones"],"summary":"Obtener Posicion","operationId":"obtener_posicion_positions__codigo_posicion__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_posicion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Posicion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PosicionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Posiciones"],"summary":"Actualizar Posicion","operationId":"actualizar_posicion_positions__codigo_posicion__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_posicion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Posicion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PosicionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PosicionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Posiciones"],"summary":"Eliminar Posicion","operationId":"eliminar_posicion_positions__codigo_posicion__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_posicion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Posicion"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/positions/{codigo_posicion}/export":{"get":{"tags":["Posiciones"],"summary":"Exportar Posicion Md","operationId":"exportar_posicion_md_positions__codigo_posicion__export_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_posicion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Posicion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/positions/reordenar":{"put":{"tags":["Posiciones"],"summary":"Reordenar Posiciones","operationId":"reordenar_posiciones_positions_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PosicionOrden"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/personas":{"get":{"tags":["Personas"],"summary":"Listar Personas","operationId":"listar_personas_personas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Buscar por nombre, documento o correo","title":"Search"},"description":"Buscar por nombre, documento o correo"},{"name":"relacion","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Tipo de RELACION_COMERCIAL (CLIENTE, PROVEEDOR, EMPLEADO, COMPETIDOR…). Una persona puede tener varias relaciones y aparece en cada una (app OPEN).","title":"Relacion"},"description":"Tipo de RELACION_COMERCIAL (CLIENTE, PROVEEDOR, EMPLEADO, COMPETIDOR…). Una persona puede tener varias relaciones y aparece en cada una (app OPEN)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PersonaResponse"},"title":"Response Listar Personas Personas Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Personas"],"summary":"Crear Persona","operationId":"crear_persona_personas_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonaCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/personas/{id_persona}":{"put":{"tags":["Personas"],"summary":"Actualizar Persona","operationId":"actualizar_persona_personas__id_persona__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_persona","in":"path","required":true,"schema":{"type":"integer","title":"Id Persona"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Personas"],"summary":"Eliminar Persona","operationId":"eliminar_persona_personas__id_persona__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_persona","in":"path","required":true,"schema":{"type":"integer","title":"Id Persona"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/personas/{id_persona}/caracteristicas":{"get":{"tags":["Personas"],"summary":"Listar Caracteristicas","description":"Retorna características agrupadas por categoría.\nSolo muestra categorías visibles para los roles del usuario.","operationId":"listar_caracteristicas_personas__id_persona__caracteristicas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_persona","in":"path","required":true,"schema":{"type":"integer","title":"Id Persona"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Personas"],"summary":"Crear Caracteristica","operationId":"crear_caracteristica_personas__id_persona__caracteristicas_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_persona","in":"path","required":true,"schema":{"type":"integer","title":"Id Persona"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaracteristicaPersonaCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaracteristicaPersonaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/personas/{id_persona}/caracteristicas/{id_car}":{"put":{"tags":["Personas"],"summary":"Actualizar Caracteristica","operationId":"actualizar_caracteristica_personas__id_persona__caracteristicas__id_car__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_persona","in":"path","required":true,"schema":{"type":"integer","title":"Id Persona"}},{"name":"id_car","in":"path","required":true,"schema":{"type":"integer","title":"Id Car"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaracteristicaPersonaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaracteristicaPersonaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Personas"],"summary":"Eliminar Caracteristica","operationId":"eliminar_caracteristica_personas__id_persona__caracteristicas__id_car__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_persona","in":"path","required":true,"schema":{"type":"integer","title":"Id Persona"}},{"name":"id_car","in":"path","required":true,"schema":{"type":"integer","title":"Id Car"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tipos-documento-persona":{"get":{"tags":["Tipos Documento Persona"],"summary":"Listar Tipos Doc","operationId":"listar_tipos_doc_tipos_documento_persona_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TipoDocumentoPersonaResponse"},"type":"array","title":"Response Listar Tipos Doc Tipos Documento Persona Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Tipos Documento Persona"],"summary":"Crear Tipo Doc","operationId":"crear_tipo_doc_tipos_documento_persona_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoDocumentoPersonaCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoDocumentoPersonaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tipos-documento-persona/{codigo}":{"put":{"tags":["Tipos Documento Persona"],"summary":"Actualizar Tipo Doc","operationId":"actualizar_tipo_doc_tipos_documento_persona__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoDocumentoPersonaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoDocumentoPersonaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tipos Documento Persona"],"summary":"Desactivar Tipo Doc","operationId":"desactivar_tipo_doc_tipos_documento_persona__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/categorias-caracteristica":{"get":{"tags":["Categorías Características Persona"],"summary":"Listar Categorias","operationId":"listar_categorias_categorias_caracteristica_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CategoriaCaractPersResponse"},"type":"array","title":"Response Listar Categorias Categorias Caracteristica Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Categorías Características Persona"],"summary":"Crear Categoria","operationId":"crear_categoria_categorias_caracteristica_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaCaractPersCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaCaractPersResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/categorias-caracteristica/{codigo}":{"put":{"tags":["Categorías Características Persona"],"summary":"Actualizar Categoria","operationId":"actualizar_categoria_categorias_caracteristica__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaCaractPersUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaCaractPersResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Categorías Características Persona"],"summary":"Desactivar Categoria","operationId":"desactivar_categoria_categorias_caracteristica__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/categorias-caracteristica/orden":{"put":{"tags":["Categorías Características Persona"],"summary":"Reordenar Categorias","description":"Actualiza el orden de las categorías.","operationId":"reordenar_categorias_categorias_caracteristica_orden_put","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CategoriaOrden"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/categorias-caracteristica/{codigo}/tipos":{"get":{"tags":["Categorías Características Persona"],"summary":"Listar Tipos","operationId":"listar_tipos_categorias_caracteristica__codigo__tipos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TipoCaractPersResponse"},"title":"Response Listar Tipos Categorias Caracteristica  Codigo  Tipos Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Categorías Características Persona"],"summary":"Crear Tipo","operationId":"crear_tipo_categorias_caracteristica__codigo__tipos_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoCaractPersCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoCaractPersResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/categorias-caracteristica/{codigo}/tipos/orden":{"put":{"tags":["Categorías Características Persona"],"summary":"Reordenar Tipos","description":"Actualiza el orden de los tipos dentro de una categoría.\nCada item lleva {codigo, orden} donde codigo es el codigo_tipo_*.","operationId":"reordenar_tipos_categorias_caracteristica__codigo__tipos_orden_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CategoriaOrden"},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/categorias-caracteristica/{codigo}/tipos/{tipo}":{"put":{"tags":["Categorías Características Persona"],"summary":"Actualizar Tipo","operationId":"actualizar_tipo_categorias_caracteristica__codigo__tipos__tipo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoCaractPersUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoCaractPersResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Categorías Características Persona"],"summary":"Desactivar Tipo","operationId":"desactivar_tipo_categorias_caracteristica__codigo__tipos__tipo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/categorias-caracteristica/{codigo}/roles":{"get":{"tags":["Categorías Características Persona"],"summary":"Roles De Categoria","operationId":"roles_de_categoria_categorias_caracteristica__codigo__roles_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Categorías Características Persona"],"summary":"Asignar Rol A Categoria","operationId":"asignar_rol_a_categoria_categorias_caracteristica__codigo__roles_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolCaractPersAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/categorias-caracteristica/{codigo}/roles/orden":{"put":{"tags":["Categorías Características Persona"],"summary":"Reordenar Roles Categoria","operationId":"reordenar_roles_categoria_categorias_caracteristica__codigo__roles_orden_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RolCaractPersOrden"},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/categorias-caracteristica/{codigo}/roles/{id_rol}":{"delete":{"tags":["Categorías Características Persona"],"summary":"Quitar Rol De Categoria","operationId":"quitar_rol_de_categoria_categorias_caracteristica__codigo__roles__id_rol__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/categorias-caracteristica-docs":{"get":{"tags":["Categorías Características Documento"],"summary":"Listar Categorias","operationId":"listar_categorias_categorias_caracteristica_docs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CategoriaCaractDocsResponse"},"type":"array","title":"Response Listar Categorias Categorias Caracteristica Docs Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Categorías Características Documento"],"summary":"Crear Categoria","operationId":"crear_categoria_categorias_caracteristica_docs_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaCaractDocsCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaCaractDocsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/categorias-caracteristica-docs/{codigo}":{"put":{"tags":["Categorías Características Documento"],"summary":"Actualizar Categoria","operationId":"actualizar_categoria_categorias_caracteristica_docs__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaCaractDocsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaCaractDocsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Categorías Características Documento"],"summary":"Desactivar Categoria","operationId":"desactivar_categoria_categorias_caracteristica_docs__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/categorias-caracteristica-docs/orden":{"put":{"tags":["Categorías Características Documento"],"summary":"Reordenar Categorias","description":"Actualiza el orden de las categorías.","operationId":"reordenar_categorias_categorias_caracteristica_docs_orden_put","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CategoriaOrden"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/categorias-caracteristica-docs/{codigo}/tipos":{"get":{"tags":["Categorías Características Documento"],"summary":"Listar Tipos","operationId":"listar_tipos_categorias_caracteristica_docs__codigo__tipos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TipoCaractDocsResponse"},"title":"Response Listar Tipos Categorias Caracteristica Docs  Codigo  Tipos Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Categorías Características Documento"],"summary":"Crear Tipo","operationId":"crear_tipo_categorias_caracteristica_docs__codigo__tipos_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoCaractDocsCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoCaractDocsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/categorias-caracteristica-docs/{codigo}/tipos/orden":{"put":{"tags":["Categorías Características Documento"],"summary":"Reordenar Tipos","description":"Actualiza el orden de los tipos dentro de una categoría.\nCada item lleva {codigo, orden} donde codigo es el codigo_tipo_*.","operationId":"reordenar_tipos_categorias_caracteristica_docs__codigo__tipos_orden_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CategoriaOrden"},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/categorias-caracteristica-docs/{codigo}/tipos/{tipo}":{"put":{"tags":["Categorías Características Documento"],"summary":"Actualizar Tipo","operationId":"actualizar_tipo_categorias_caracteristica_docs__codigo__tipos__tipo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoCaractDocsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoCaractDocsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Categorías Características Documento"],"summary":"Desactivar Tipo","operationId":"desactivar_tipo_categorias_caracteristica_docs__codigo__tipos__tipo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/categorias-caracteristica-docs/{codigo}/generar-md":{"post":{"tags":["Categorías Características Documento"],"summary":"Generar Md Categoria Doc","operationId":"generar_md_categoria_doc_categorias_caracteristica_docs__codigo__generar_md_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tipos-documento":{"get":{"tags":["Tipos de Documento"],"summary":"Listar Tipos Documento","description":"Lista tipos globales + grupo + entidad activa (en ese orden de alcance).","operationId":"listar_tipos_documento_tipos_documento_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TipoDocumentoResponse"},"type":"array","title":"Response Listar Tipos Documento Tipos Documento Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Tipos de Documento"],"summary":"Crear Tipo Documento","operationId":"crear_tipo_documento_tipos_documento_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoDocumentoCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoDocumentoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tipos-documento/grafo":{"get":{"tags":["Tipos de Documento"],"summary":"Listar Grafo Tipos Documento","description":"Closure table desnormalizada: pares (ancestro, descendiente, profundidad).\n\nSolo los pares cuyos dos extremos ve el grupo activo (E14): la tabla no tiene\n`codigo_grupo` y guarda la jerarquía de los tipos privados de todos los tenants.","operationId":"listar_grafo_tipos_documento_tipos_documento_grafo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response Listar Grafo Tipos Documento Tipos Documento Grafo Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/tipos-documento/resumen-entidad":{"get":{"tags":["Tipos de Documento"],"summary":"Listar Resumen Entidad","description":"Tipos usados por la entidad activa y catálogo global completo.","operationId":"listar_resumen_entidad_tipos_documento_resumen_entidad_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResumenTiposDocumentoEntidadResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/tipos-documento/clasificables":{"get":{"tags":["Tipos de Documento"],"summary":"Listar Clasificables","description":"Destinos de clasificación del grupo activo (frontera derivada del árbol).","operationId":"listar_clasificables_tipos_documento_clasificables_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TipoDocumentoResponse"},"type":"array","title":"Response Listar Clasificables Tipos Documento Clasificables Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/tipos-documento/frontera":{"get":{"tags":["Tipos de Documento"],"summary":"Listar Frontera Overrides","description":"Overrides de frontera del grupo activo: [{codigo, colapsado}] (mig 765).\n\nCada fila ES un override explícito sobre el default global del nodo\n(`tipos_documento.colapsado`). Sin fila => el grupo hereda el default global.","operationId":"listar_frontera_overrides_tipos_documento_frontera_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response Listar Frontera Overrides Tipos Documento Frontera Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/tipos-documento/{codigo}/frontera":{"put":{"tags":["Tipos de Documento"],"summary":"Fijar Frontera","description":"Fija un override de frontera del grupo activo sobre el nodo (mig 765).\n\n`colapsado=true`  => forzar clasificar HASTA este nodo (un solo saco).\n`colapsado=false` => forzar abrir en sus hijos (aunque el default global lo colapse).\nPara volver a HEREDAR el default global, usar DELETE /{codigo}/frontera.","operationId":"fijar_frontera_tipos_documento__codigo__frontera_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"colapsado","in":"query","required":true,"schema":{"type":"boolean","title":"Colapsado"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tipos de Documento"],"summary":"Limpiar Frontera","description":"Quita el override del grupo activo: el nodo vuelve a heredar el default global.","operationId":"limpiar_frontera_tipos_documento__codigo__frontera_delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tipos-documento/{codigo}":{"put":{"tags":["Tipos de Documento"],"summary":"Actualizar Tipo Documento","operationId":"actualizar_tipo_documento_tipos_documento__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoDocumentoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoDocumentoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tipos de Documento"],"summary":"Eliminar Tipo Documento","operationId":"eliminar_tipo_documento_tipos_documento__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tipos-documento/{codigo}/impacto":{"get":{"tags":["Tipos de Documento"],"summary":"Obtener Impacto Tipo Documento","operationId":"obtener_impacto_tipo_documento_tipos_documento__codigo__impacto_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoDocumentoImpacto"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tipos-documento/{codigo}/caracteristicas":{"get":{"tags":["Tipos de Documento"],"summary":"Listar Caracteristicas De Tipo","description":"Lista las caracteristicas relacionadas a un tipo de documento, enriquecidas.","operationId":"listar_caracteristicas_de_tipo_tipos_documento__codigo__caracteristicas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RelTipoDocCaractResponse"},"title":"Response Listar Caracteristicas De Tipo Tipos Documento  Codigo  Caracteristicas Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Tipos de Documento"],"summary":"Crear Relacion Caract","operationId":"crear_relacion_caract_tipos_documento__codigo__caracteristicas_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelTipoDocCaractCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelTipoDocCaractResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tipos-documento/{codigo}/caracteristicas/{codigo_cat}/{codigo_tipo_c}":{"put":{"tags":["Tipos de Documento"],"summary":"Actualizar Relacion Caract","operationId":"actualizar_relacion_caract_tipos_documento__codigo__caracteristicas__codigo_cat___codigo_tipo_c__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"codigo_cat","in":"path","required":true,"schema":{"type":"string","title":"Codigo Cat"}},{"name":"codigo_tipo_c","in":"path","required":true,"schema":{"type":"string","title":"Codigo Tipo C"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelTipoDocCaractUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelTipoDocCaractResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tipos de Documento"],"summary":"Eliminar Relacion Caract","operationId":"eliminar_relacion_caract_tipos_documento__codigo__caracteristicas__codigo_cat___codigo_tipo_c__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"codigo_cat","in":"path","required":true,"schema":{"type":"string","title":"Codigo Cat"}},{"name":"codigo_tipo_c","in":"path","required":true,"schema":{"type":"string","title":"Codigo Tipo C"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tipos-documento/{codigo}/categorias":{"get":{"tags":["Tipos de Documento"],"summary":"Listar Categorias De Tipo","description":"Lista las categorias relacionadas a un tipo de documento, enriquecidas.","operationId":"listar_categorias_de_tipo_tipos_documento__codigo__categorias_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RelTipoDocCatResponse"},"title":"Response Listar Categorias De Tipo Tipos Documento  Codigo  Categorias Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Tipos de Documento"],"summary":"Crear Relacion Categoria","operationId":"crear_relacion_categoria_tipos_documento__codigo__categorias_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelTipoDocCatCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelTipoDocCatResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tipos-documento/{codigo}/categorias/{codigo_cat}":{"put":{"tags":["Tipos de Documento"],"summary":"Actualizar Relacion Categoria","operationId":"actualizar_relacion_categoria_tipos_documento__codigo__categorias__codigo_cat__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"codigo_cat","in":"path","required":true,"schema":{"type":"string","title":"Codigo Cat"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelTipoDocCatUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelTipoDocCatResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tipos de Documento"],"summary":"Eliminar Relacion Categoria","operationId":"eliminar_relacion_categoria_tipos_documento__codigo__categorias__codigo_cat__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"codigo_cat","in":"path","required":true,"schema":{"type":"string","title":"Codigo Cat"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/vocabulario-retrieve/tipos":{"get":{"tags":["Vocabulario RETRIEVE"],"summary":"Tipos","operationId":"tipos_vocabulario_retrieve_tipos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_entidad","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/vocabulario-retrieve/caracteristicas":{"get":{"tags":["Vocabulario RETRIEVE"],"summary":"Caracteristicas","operationId":"caracteristicas_vocabulario_retrieve_caracteristicas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tipos","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Códigos de tipo separados por coma; vacío = todos","title":"Tipos"},"description":"Códigos de tipo separados por coma; vacío = todos"},{"name":"codigo_entidad","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/propuestas-catalogo":{"get":{"tags":["Propuestas Catalogo"],"summary":"Listar Propuestas","description":"Lista propuestas visibles para la entidad activa.\n\nPor defecto solo PENDIENTE. `incluir_decididas=true` para historico.\nADMIN ve globales + de cualquier grupo; otros ven globales + su grupo.","operationId":"listar_propuestas_propuestas_catalogo_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"estado","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado"}},{"name":"ambito","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ambito"}},{"name":"fuente","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fuente"}},{"name":"incluir_decididas","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Incluir Decididas"}},{"name":"incluir_acumulando","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Incluir Acumulando"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PropuestaCatalogoResponse"},"title":"Response Listar Propuestas Propuestas Catalogo Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Propuestas Catalogo"],"summary":"Crear Propuesta Manual","operationId":"crear_propuesta_manual_propuestas_catalogo_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropuestaCatalogoCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropuestaCatalogoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/propuestas-catalogo/{id_propuesta}":{"get":{"tags":["Propuestas Catalogo"],"summary":"Detalle Propuesta","operationId":"detalle_propuesta_propuestas_catalogo__id_propuesta__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_propuesta","in":"path","required":true,"schema":{"type":"integer","title":"Id Propuesta"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropuestaCatalogoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Propuestas Catalogo"],"summary":"Eliminar Propuesta","operationId":"eliminar_propuesta_propuestas_catalogo__id_propuesta__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_propuesta","in":"path","required":true,"schema":{"type":"integer","title":"Id Propuesta"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/propuestas-catalogo/{id_propuesta}/decidir":{"post":{"tags":["Propuestas Catalogo"],"summary":"Decidir Propuesta","description":"Aprobar / rechazar / modificar una propuesta.","operationId":"decidir_propuesta_propuestas_catalogo__id_propuesta__decidir_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_propuesta","in":"path","required":true,"schema":{"type":"integer","title":"Id Propuesta"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropuestaCatalogoDecidir"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropuestaCatalogoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/propuestas-catalogo/{id_propuesta}/perfil/borrador":{"post":{"tags":["Propuestas Catalogo"],"summary":"Proponer Perfil Tipo","description":"Construye un borrador de perfil sin modificar el catálogo.","operationId":"proponer_perfil_tipo_propuestas_catalogo__id_propuesta__perfil_borrador_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_propuesta","in":"path","required":true,"schema":{"type":"integer","title":"Id Propuesta"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"},"title":"Muestra Ids"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/propuestas-catalogo/{id_propuesta}/perfil/publicar":{"post":{"tags":["Propuestas Catalogo"],"summary":"Publicar Perfil Tipo","description":"Publica el perfil guardado en evidencia y encola reproceso selectivo.","operationId":"publicar_perfil_tipo_propuestas_catalogo__id_propuesta__perfil_publicar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_propuesta","in":"path","required":true,"schema":{"type":"integer","title":"Id Propuesta"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/propuestas-catalogo/perfiles/backfill-global":{"post":{"tags":["Propuestas Catalogo"],"summary":"Backfill Perfiles Globales","description":"Sella el perfil v1 de los tipos globales legados desde su cableado.\n\nSolo ADMIN. Exclusiones D1 validadas por el usuario (sumideros, tipos de\nagente, familias sin relaciones). No encola reproceso: eso es una\noperación aparte (plan §6).","operationId":"backfill_perfiles_globales_propuestas_catalogo_perfiles_backfill_global_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/propuestas-catalogo/consolidar":{"post":{"tags":["Propuestas Catalogo"],"summary":"Consolidar Propuestas","description":"Curación intra-grupo: el LLM agrupa propuestas equivalentes.\n\nPor defecto devuelve un dry-run auditable; ``aplicar_auto=true`` solo\naplica clusters ALTA que además superan el umbral determinista de\nfrecuencia. MEDIA/BAJA quedan como sugerencias para confirmar vía\n/consolidar/aplicar.","operationId":"consolidar_propuestas_propuestas_catalogo_consolidar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_grupo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"}},{"name":"aplicar_auto","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Aplicar Auto"}},{"name":"campana","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Campana"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/propuestas-catalogo/consolidar/aplicar":{"post":{"tags":["Propuestas Catalogo"],"summary":"Aplicar Cluster Consolidacion","description":"Confirma manualmente un cluster (típicamente MEDIA/BAJA que el auto no aplicó).","operationId":"aplicar_cluster_consolidacion_propuestas_catalogo_consolidar_aplicar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AplicarClusterRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/propuestas-catalogo/detectar-globales":{"post":{"tags":["Propuestas Catalogo"],"summary":"Detectar Candidatos Globales","description":"Detecta conceptos presentes como tipo por-grupo en ≥min_grupos grupos y crea\nuna propuesta GLOBAL (codigo_grupo=NULL, fuente=CURACION) por cada uno. Solo ADMIN.\n\nNo aprueba nada: la promoción (reemplazo de los tipos por-grupo) ocurre cuando el\nadmin APRUEBA la propuesta global (trigger fn_propuesta_aprobada_materializar, DP2).","operationId":"detectar_candidatos_globales_propuestas_catalogo_detectar_globales_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"min_grupos","in":"query","required":false,"schema":{"type":"integer","minimum":2,"default":3,"title":"Min Grupos"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/propuestas-catalogo/{id_propuesta}/reintentar-reproceso":{"post":{"tags":["Propuestas Catalogo"],"summary":"Reintentar Reproceso","description":"Reabre filas ERROR del reproceso sin duplicar trabajo activo.","operationId":"reintentar_reproceso_propuestas_catalogo__id_propuesta__reintentar_reproceso_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_propuesta","in":"path","required":true,"schema":{"type":"integer","title":"Id Propuesta"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ubicaciones-docs":{"get":{"tags":["Ubicaciones Docs"],"summary":"Listar Ubicaciones","description":"Lista ubicaciones del grupo activo.\n\nModos (mutuamente excluyentes; se evalúan en este orden):\n  1. q          → matches + ancestros (server-side search vía grafo).\n  2. subarbol_de→ subárbol del nodo (vía grafo).\n  3. solo_raices→ solo raíces (codigo_ubicacion_superior IS NULL).\n  4. padre      → hijos directos del nodo.\n  5. (sin filtros) → raíces, igual que `solo_raices`.\n\nRaíces, `padre`, `q` y `subarbol_de` vienen por páginas de `limit` (500 por\ndefecto) en orden de url; la siguiente se pide con `despues_de` = url de la\núltima fila (decisiones del usuario 2026-09-18, universos, bloque I: en\nIANET una carpeta tiene 22.511 hijos directos y el subárbol de la raíz,\n57.157 carpetas).\n\nEl árbol completo de una vez ya no se entrega (decisión del usuario\n2026-09-18, universos, bloque I): sin filtros devolvía todas las carpetas de\nla entidad (57.157 y ~31 MB en IANET) y nadie lo usaba. Quien necesite\nrecorrerlo entero usa `desplegado=true`, por páginas.","operationId":"listar_ubicaciones_ubicaciones_docs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_entidad","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}},{"name":"tipo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por tipo_ubicacion: CONTENIDO | VIRTUAL | TEMPORAL","title":"Tipo"},"description":"Filtrar por tipo_ubicacion: CONTENIDO | VIRTUAL | TEMPORAL"},{"name":"padre","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Hijos directos del nodo. Ignorado si solo_raices/q/subarbol_de.","title":"Padre"},"description":"Hijos directos del nodo. Ignorado si solo_raices/q/subarbol_de."},{"name":"solo_raices","in":"query","required":false,"schema":{"type":"boolean","description":"True → solo nodos con codigo_ubicacion_superior IS NULL","default":false,"title":"Solo Raices"},"description":"True → solo nodos con codigo_ubicacion_superior IS NULL"},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Búsqueda: matches + ancestros vía closure table","title":"Q"},"description":"Búsqueda: matches + ancestros vía closure table"},{"name":"subarbol_de","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Subárbol bajo el nodo (vía closure table), por páginas","title":"Subarbol De"},"description":"Subárbol bajo el nodo (vía closure table), por páginas"},{"name":"solo_inhabilitadas","in":"query","required":false,"schema":{"type":"boolean","description":"True → sólo las ubicaciones inhabilitadas (código y url). Para saltar ramas al alimentar.","default":false,"title":"Solo Inhabilitadas"},"description":"True → sólo las ubicaciones inhabilitadas (código y url). Para saltar ramas al alimentar."},{"name":"desplegado","in":"query","required":false,"schema":{"type":"boolean","description":"True → el árbol desplegado: las carpetas en orden de recorrido (cada una inmediatamente después de su padre), por páginas.","default":false,"title":"Desplegado"},"description":"True → el árbol desplegado: las carpetas en orden de recorrido (cada una inmediatamente después de su padre), por páginas."},{"name":"despues_de","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Página siguiente: url de la última carpeta de la página anterior (raíces, `padre`, `q`, `subarbol_de` y `desplegado`).","title":"Despues De"},"description":"Página siguiente: url de la última carpeta de la página anterior (raíces, `padre`, `q`, `subarbol_de` y `desplegado`)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":1,"description":"Carpetas por página (raíces, `padre`, `q`, `subarbol_de` y `desplegado`). Si la respuesta trae `limit` filas puede haber más: pedir la siguiente con `despues_de` = url de la última.","default":500,"title":"Limit"},"description":"Carpetas por página (raíces, `padre`, `q`, `subarbol_de` y `desplegado`). Si la respuesta trae `limit` filas puede haber más: pedir la siguiente con `despues_de` = url de la última."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UbicacionDocResponse"},"title":"Response Listar Ubicaciones Ubicaciones Docs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Ubicaciones Docs"],"summary":"Crear Ubicacion","operationId":"crear_ubicacion_ubicaciones_docs_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UbicacionDocCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UbicacionDocResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ubicaciones-docs/contadores":{"get":{"tags":["Ubicaciones Docs"],"summary":"Contadores Ubicaciones","description":"Devuelve totales agregados del grupo activo sin traer los nodos.","operationId":"contadores_ubicaciones_ubicaciones_docs_contadores_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_entidad","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ubicaciones-docs/raices":{"get":{"tags":["Ubicaciones Docs"],"summary":"Listar Raices Ubicaciones","description":"Raíces FILES/cloud de una entidad con su `home_var` (PLAN_HOME_RAICES D3/F0).\n\nÚnica forma en que Desktop y agentes traducen un `home_var` a un código: el\nsaneo del nombre no es reversible (D3.i), así que nadie des-sanea — se\nconsulta esta lista. Mismo patrón de contexto que `listar_ubicaciones`: sin\n`codigo_entidad` explícito usa la entidad activa de la sesión; uno explícito\nse valida contra `usuario.entidades` (D16). Solo lectura.","operationId":"listar_raices_ubicaciones_ubicaciones_docs_raices_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_entidad","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Entidad a consultar; por defecto la activa de la sesión.","title":"Codigo Entidad"},"description":"Entidad a consultar; por defecto la activa de la sesión."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ubicaciones-docs/{codigo}/habilidad-adquisicion":{"get":{"tags":["Ubicaciones Docs"],"summary":"Obtener Habilidad Adquisicion Efectiva","description":"Explica el método propio o heredado sin ejecutar la adquisición.","operationId":"obtener_habilidad_adquisicion_efectiva_ubicaciones_docs__codigo__habilidad_adquisicion_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HabilidadAdquisicionEfectivaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ubicaciones-docs/revisar-web":{"post":{"tags":["Ubicaciones Docs"],"summary":"Revisar Web Manualmente","description":"«Revisar ahora»: crea (o recupera) el trabajo durable y responde de inmediato.\n\nLa adquisición NO corre dentro de esta petición. El proceso nace en el estado\nde ejecución de su tipo y lo toma el barrido de activaciones del cron, el\nmismo ejecutor de las corridas programadas. El alcance viaja en `datos`.","operationId":"revisar_web_manualmente_ubicaciones_docs_revisar_web_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__ubicaciones_docs__RevisarFuentesWebRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevisionWebEncoladaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/ubicaciones-docs/revisar-web/{codigo_proceso}":{"get":{"tags":["Ubicaciones Docs"],"summary":"Estado Revision Web","description":"Estado y resumen de una revisión web del tenant activo.","operationId":"estado_revision_web_ubicaciones_docs_revisar_web__codigo_proceso__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevisionWebEstadoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ubicaciones-docs/investigar-web":{"post":{"tags":["Ubicaciones Docs"],"summary":"Investigar Ubicaciones Web","description":"Produce una propuesta LLM revisable; nunca escribe ubicaciones.","operationId":"investigar_ubicaciones_web_ubicaciones_docs_investigar_web_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestigarUbicacionesWebRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvestigarUbicacionesWebResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/ubicaciones-docs/materializar-web":{"post":{"tags":["Ubicaciones Docs"],"summary":"Materializar Ubicaciones Web","description":"Materializa exclusivamente los nodos que una persona ya aprobó.","operationId":"materializar_ubicaciones_web_ubicaciones_docs_materializar_web_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MaterializarUbicacionesWebRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MaterializarUbicacionesWebResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/ubicaciones-docs/resolver-identidad":{"post":{"tags":["Ubicaciones Docs"],"summary":"Resolver Identidad Ubicaciones","description":"Devuelve el `codigo_ubicacion` que el Cloud YA tiene para cada url.\n\nLo llama el barrido del Desktop ANTES de mintear códigos locales. Sin esta\npregunta, un reset del SQLite reinicia la secuencia y el mismo directorio\nsaldría con un código nuevo: la UK `(grupo, entidad, url)` lo rechazaría y la\nsubida quedaría trabada. Preguntando primero, el cliente ADOPTA el código\nexistente y la subida es un UPDATE — el directorio nunca se considera nuevo.\n\nEspejo de POST /sync/resolver-identidad, que hace lo mismo para documentos.\nSolo lectura: no escribe nada.","operationId":"resolver_identidad_ubicaciones_ubicaciones_docs_resolver_identidad_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolverIdentidadUbicacionesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolverIdentidadUbicacionesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/ubicaciones-docs/cruzar-escaneo":{"post":{"tags":["Ubicaciones Docs"],"summary":"Cruzar Escaneo Ubicaciones","description":"Una página del escaneo del navegador contra lo que el Cloud ya conoce.\n\nAntes de confirmar una sincronización, la pantalla dice qué carpetas son\nnuevas y cuántas se van a apagar. Para eso bajaba el árbol COMPLETO del\ngrupo —57.725 carpetas en IANET— y cruzaba en memoria (universos, bloque I,\nU-28). Ahora manda su escaneo por páginas y la BD responde, para cada una,\ncuáles rutas ya existen; y una sola vez, cuántas carpetas habilitadas\ncuelgan de la raíz. Restando las que el escaneo trae de ese total salen las\nque se van a apagar, con la MISMA regla que después ejecuta la sincronización\n(closure de la raíz, habilitadas con url). Solo lectura.","operationId":"cruzar_escaneo_ubicaciones_ubicaciones_docs_cruzar_escaneo_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CruzarEscaneoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CruzarEscaneoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/ubicaciones-docs/reubicar-raiz":{"post":{"tags":["Ubicaciones Docs"],"summary":"Reubicar Raiz Ubicacion","description":"Cuelga una raíz ya indexada de una carpeta ASCENDIENTE recién elegida.\n\nRenombra el prefijo de url del subárbol (y las rutas de sus documentos) vía\n`fn_reubicar_subarbol_ubicacion` (mig 1295); el código de cada ubicación no\ncambia. El barrido posterior desde la nueva carpeta reconoce la raíz vieja\npor su url y le fija el padre (fn_sync_ubicaciones_bulk).","operationId":"reubicar_raiz_ubicacion_ubicaciones_docs_reubicar_raiz_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReubicarRaizRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReubicarRaizResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/ubicaciones-docs/consolidar-grafo":{"post":{"tags":["Ubicaciones Docs"],"summary":"Consolidar Grafo Ubicaciones","description":"Reconstruye la closure `ubicaciones_docs_grafo` del grupo, de una sola vez.\n\nLa desnormalización normal ocurre fila por fila en trg_ubicaciones_docs_grafo_insert\n— correcto para el alta unitaria del Web. Pero ese trigger copia los ancestros\ndel padre LEYÉNDOLOS del grafo: si el padre todavía no está ahí, el nodo entra\nsolo con su par consigo mismo, y ese hueco no se repara nunca (el trigger de\nINSERT ya corrió y el de UPDATE solo dispara con UPDATE OF codigo_ubicacion_superior).\n\nEl Desktop sube paginado, así que llama a esto UNA vez al agotar la cola de\nubicaciones. Es set-based (un WITH RECURSIVE que CONSTRUYE la closure — el\núnico recursivo que REGLAS §16 permite) e idempotente: convierte en garantía\nlo que si no es un invariante tácito sobre el orden de llegada.","operationId":"consolidar_grafo_ubicaciones_ubicaciones_docs_consolidar_grafo_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsolidarGrafoResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/ubicaciones-docs/sincronizar":{"post":{"tags":["Ubicaciones Docs"],"summary":"Sincronizar Ubicaciones","description":"Sincroniza ubicaciones desde un escaneo de directorio.\n\nUn solo UPSERT por PK (fn_sync_ubicaciones_bulk). Re-subir el mismo lote no\nduplica ni aplana: es idempotente por construcción.\n\nReglas:\n- Inserta o actualiza según el código; la url se guarda tal cual llega.\n- Inhabilita (NO borra) las que ya no existen en el escaneo, y SOLO cuando el\n  caller declara la raíz del subárbol sincronizado. El Desktop no la declara\n  —sube paginado— así que nunca deshabilita: un lote de 100 no puede saber\n  qué desapareció del disco.","operationId":"sincronizar_ubicaciones_ubicaciones_docs_sincronizar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SincronizarRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SincronizarResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/ubicaciones-docs/{codigo}":{"put":{"tags":["Ubicaciones Docs"],"summary":"Actualizar Ubicacion","operationId":"actualizar_ubicacion_ubicaciones_docs__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UbicacionDocUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UbicacionDocResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Ubicaciones Docs"],"summary":"Eliminar Ubicacion Cascade","description":"Hard delete cascada (mig 387: un documento = una sola ubicación):\n- Elimina la ubicación y TODAS sus descendientes\n- Elimina los documentos cuya `codigo_ubicacion` apunta a alguna de las\n  ubicaciones borradas (con sus características y resúmenes por ON DELETE CASCADE).","operationId":"eliminar_ubicacion_cascade_ubicaciones_docs__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ubicaciones-docs/{codigo}/tipo":{"patch":{"tags":["Ubicaciones Docs"],"summary":"Cambiar Tipo Ubicacion","description":"Cambia tipo_ubicacion (CONTENIDO | VIRTUAL). VIRTUAL es solo para ubicaciones\nmanuales (sin directorio físico). El tipo AREA fue eliminado en la mig 610: Área\nya no es un tipo de ubicación, sino una entidad propia (tabla `area`).","operationId":"cambiar_tipo_ubicacion_ubicaciones_docs__codigo__tipo_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CambiarTipoUbicacionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UbicacionDocResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ubicaciones-docs/{codigo}/preview-eliminar":{"get":{"tags":["Ubicaciones Docs"],"summary":"Preview Eliminar Ubicacion","description":"Retorna qué se eliminaría si se borra esta ubicación en cascada.\n- `ubicaciones`: total de carpetas (la propia + descendientes)\n- `documentos_afectados`: documentos con al menos una relación a esas carpetas\n- `documentos_a_eliminar`: documentos que quedarán huérfanos y serán borrados\n  (con sus características por cascade en BD)","operationId":"preview_eliminar_ubicacion_ubicaciones_docs__codigo__preview_eliminar_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ubicaciones-docs/{codigo}/documentos":{"get":{"tags":["Ubicaciones Docs"],"summary":"Listar Documentos Ubicacion","description":"Lista documentos asignados a esta ubicación (mig 387: un doc → una ubicación).","operationId":"listar_documentos_ubicacion_ubicaciones_docs__codigo__documentos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ubicaciones-docs/{codigo}/documentos/{id_doc}":{"post":{"tags":["Ubicaciones Docs"],"summary":"Asignar Documento","description":"Asigna (o mueve) un documento a esta ubicación. mig 387: un doc tiene UNA sola\nubicación; si ya tenía otra, queda sobrescrita.\n\nDocumento y carpeta destino son del grupo y la entidad activa (341215): el\ndocumento además visible por área, y el UPDATE repite grupo + entidad.","operationId":"asignar_documento_ubicaciones_docs__codigo__documentos__id_doc__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"id_doc","in":"path","required":true,"schema":{"type":"integer","title":"Id Doc"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Ubicaciones Docs"],"summary":"Quitar Documento","description":"Desvincula un documento de su ubicación (codigo_ubicacion := NULL).\nSolo opera si el doc realmente apuntaba a la ubicación indicada, y si es del\ngrupo y la entidad activa y visible por área (341215).","operationId":"quitar_documento_ubicaciones_docs__codigo__documentos__id_doc__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"id_doc","in":"path","required":true,"schema":{"type":"integer","title":"Id Doc"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ubicaciones-docs/{codigo}/generar-md":{"post":{"tags":["Ubicaciones Docs"],"summary":"Generar Md Ubicacion","description":"Genera documentación Markdown enriquecida para una ubicación de documentos.\n\nRecopila datos de la ubicación, su jerarquía, documentos contenidos,\nconfiguración LLM y prompts de programación. Llama al LLM por defecto\npara redactar el markdown. Fallback: markdown estructurado sin LLM.","operationId":"generar_md_ubicacion_ubicaciones_docs__codigo__generar_md_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/areas":{"get":{"tags":["Áreas"],"summary":"Listar Areas","description":"Lista las áreas de un grupo (opcionalmente filtradas por entidad).\n\nPor defecto filtra por el grupo activo del usuario. En pantallas de\nadministración (ej. seed-users) el super-admin necesita listar las áreas de\nOTRO grupo/entidad — el que se está asignando al usuario editado — por eso\n`codigo_grupo` es un override explícito. Sin él, un super-admin con\n`grupo_activo=ADMIN` veía áreas del grupo equivocado al asignar área.\n\nE10 (EJEC 10 S08, alineado con CORP): el override solo vale para el\noperador global; cualquier otro, con un grupo ajeno, recibe 404 como si no\nexistiera. Su propio grupo sí puede venir explícito (pantalla /api-keys).","operationId":"listar_areas_areas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_entidad","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}},{"name":"codigo_grupo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"}},{"name":"padre","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Padre"}},{"name":"solo_raices","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Solo Raices"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AreaResponse"},"title":"Response Listar Areas Areas Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Áreas"],"summary":"Crear Area","operationId":"crear_area_areas_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/areas/{codigo}":{"put":{"tags":["Áreas"],"summary":"Actualizar Area","operationId":"actualizar_area_areas__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AreaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Áreas"],"summary":"Eliminar Area","operationId":"eliminar_area_areas__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/areas/{codigo}/ubicaciones":{"get":{"tags":["Áreas"],"summary":"Ubicaciones De Area","description":"Lista las ubicaciones asignadas al área (con nombre/ruta de la ubicación).","operationId":"ubicaciones_de_area_areas__codigo__ubicaciones_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Áreas"],"summary":"Asignar Ubicacion","operationId":"asignar_ubicacion_areas__codigo__ubicaciones_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsignarUbicacionRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/areas/{codigo}/ubicaciones/{codigo_ubicacion}":{"delete":{"tags":["Áreas"],"summary":"Quitar Ubicacion","operationId":"quitar_ubicacion_areas__codigo__ubicaciones__codigo_ubicacion__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"codigo_ubicacion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Ubicacion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/estados-docs":{"get":{"tags":["Estados Docs"],"summary":"Listar Estados","operationId":"listar_estados_estados_docs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/EstadoDocResponse"},"type":"array","title":"Response Listar Estados Estados Docs Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/cola-estados-docs":{"get":{"tags":["Cola Estados Docs"],"summary":"Listar Cola","description":"Lista ítems de la cola del grupo activo, con datos del documento.","operationId":"listar_cola_cola_estados_docs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"estado_cola","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por estado: PENDIENTE, EN_PROCESO, COMPLETADO, ERROR","title":"Estado Cola"},"description":"Filtrar por estado: PENDIENTE, EN_PROCESO, COMPLETADO, ERROR"},{"name":"estado_destino","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por estado destino: METADATA, ESCANEADO, CHUNKEADO, VECTORIZADO","title":"Estado Destino"},"description":"Filtrar por estado destino: METADATA, ESCANEADO, CHUNKEADO, VECTORIZADO"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColaEstadoDocResponse"},"title":"Response Listar Cola Cola Estados Docs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cola-estados-docs/resumen-pipeline":{"get":{"tags":["Cola Estados Docs"],"summary":"Resumen Pipeline","description":"Resumen agregado del estado del pipeline para el grupo activo.\n\nDevuelve por cada estado destino (METADATA, ESCANEADO, CHUNKEADO, VECTORIZADO):\n- conteos por estado_cola (PENDIENTE, EN_PROCESO, COMPLETADO, ERROR)\n- workers activos = filas EN_PROCESO con worker_id no nulo (lease tomado por una pasada del procesador)\n- velocidad_docs_por_min = COMPLETADOs en los últimos `ventana_seg` segundos / minutos\n\nY además el bloque `paquete` con la vista lógica de paquetes operativos.","operationId":"resumen_pipeline_cola_estados_docs_resumen_pipeline_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"ventana_seg","in":"query","required":false,"schema":{"type":"integer","maximum":600,"minimum":30,"description":"Ventana en segundos para calcular velocidad reciente","default":120,"title":"Ventana Seg"},"description":"Ventana en segundos para calcular velocidad reciente"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResumenPipelineResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cola-estados-docs/alertas-llm/resolver":{"post":{"tags":["Cola Estados Docs"],"summary":"Resolver Alerta Llm","description":"Marca una alerta LLM como resuelta. Lo usa el banner de\n/process-pipeline cuando el admin confirma que ya destrabó el problema\n(subió el spending cap, rotó la key, etc.). Después de resolver, el\nbanner desaparece y los próximos ejecutar pueden reintentar.","operationId":"resolver_alerta_llm_cola_estados_docs_alertas_llm_resolver_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolverAlertaLLMRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolverAlertaLLMResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/cola-estados-docs/ids-invalidos":{"get":{"tags":["Cola Estados Docs"],"summary":"Ids Invalidos","description":"Retorna solo los codigo_documento de ítems con error o resultado inválido\npara un estado destino dado. Payload mínimo vs listar() completo.","operationId":"ids_invalidos_cola_estados_docs_ids_invalidos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"estado_destino","in":"query","required":true,"schema":{"type":"string","description":"Estado destino a consultar","title":"Estado Destino"},"description":"Estado destino a consultar"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cola-estados-docs/por-documento/{codigo_documento}":{"get":{"tags":["Cola Estados Docs"],"summary":"Cola Por Documento","description":"Ítems de cola de un documento (último primero) + estado actual del doc.\n\nH8 (PLAN_ANALIZAR_HABILIDADES §9.1): la cola es HISTORIAL de ejecuciones;\nla única fuente de verdad del estado vigente es documentos.codigo_estado_doc.\nEste endpoint devuelve `codigo_estado_actual` y marca cada ejecución como\n`es_vigente`/`es_historica`, calculado en backend contra el grafo de\ntransiciones (rel_transiciones_estado) — el frontend no inventa un orden\nde estados.\n\nReglas de vigencia por ítem:\n  COMPLETADO           → vigente si su destino ES el estado actual, o si\n                         terminó en estado terminal soft y ese estado es el\n                         actual (resultado = \"<ESTADO>: detalle\").\n  PENDIENTE/EN_PROCESO/ERROR → vigente si la transición estado_actual →\n                         destino existe en el grafo (el trabajo sigue siendo\n                         el paso aplicable desde el estado actual).\n\nEl documento se autoriza primero con grupo + entidad activa + área (el\ncódigo es global: filtrar solo por grupo mostraba la cola de documentos de\notra entidad de la empresa, pendiente 341215). Fuera → 404; de la entidad\npero fuera del área → 403. La cola no tiene entidad: basta el documento.","operationId":"cola_por_documento_cola_estados_docs_por_documento__codigo_documento__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cola-estados-docs/paginado":{"get":{"tags":["Cola Estados Docs"],"summary":"Listar Cola Paginada","description":"Versión paginada de /cola-estados-docs. Retorna `{items, total, page, limit}`.\n\nCon `codigo_proceso` lista una corrida: así el paso a paso sigue sus documentos\npor página, sin mandar la lista de `id_cola` (PLAN_UNIVERSOS_EN_MEMORIA §8.14).\n\nCon `codigo_tipo_proceso` (el `process` de `/v1/queue`, pendiente 355017): las\nfilas del pipeline no guardan su tipo de proceso, se reconocen por el estado\ndestino de su transición en `rel_transiciones_estado` (VECTORIZAR → VECTORIZADO).\nUn tipo sin transición del pipeline (las habilidades de un Espacio) filtra por\nla columna `codigo_tipo_proceso`, que esas filas sí llenan.","operationId":"listar_cola_paginada_cola_estados_docs_paginado_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"estado_cola","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Cola"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Búsqueda por nombre de documento o destino","title":"Q"},"description":"Búsqueda por nombre de documento o destino"},{"name":"codigo_proceso","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Solo las filas de esta corrida (la que devuelve la siembra por criterio)","title":"Codigo Proceso"},"description":"Solo las filas de esta corrida (la que devuelve la siembra por criterio)"},{"name":"estado_destino","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Destino"}},{"name":"codigo_tipo_proceso","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Solo las filas de este tipo de proceso (p. ej. VECTORIZAR)","title":"Codigo Tipo Proceso"},"description":"Solo las filas de este tipo de proceso (p. ej. VECTORIZAR)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ColaPaginadaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cola-estados-docs/inicializar-por-estado":{"post":{"tags":["Cola Estados Docs"],"summary":"Inicializar Por Estado","description":"Encola los documentos visibles en el estado origen que cumplen los criterios\n(carpeta, texto, tope), sin lista de documentos. Omite los que ya tienen una\nfila viva hacia el mismo destino. Devuelve el código de la corrida\n(`codigo_proceso`), con el que se lanza y se sigue el procesamiento.","operationId":"inicializar_por_estado_cola_estados_docs_inicializar_por_estado_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-ingesta-sesion","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Ingesta-Sesion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InicializarPorEstadoRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InicializarColaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cola-estados-docs/cerrar":{"post":{"tags":["Cola Estados Docs"],"summary":"Cerrar Cola","description":"Elimina (hard delete) los ítems COMPLETADOS de la cola del grupo activo, salvo\nel rastro de los documentos que siguen en el tramo backend.\n\nEse rastro es lo único que dice de quién es el documento: la tanda del lote\npide dueño activo por las filas de la cola (PLAN_UNIVERSOS_EN_MEMORIA §8.10).\nBorrarlo dejaba, p. ej., a los ESCANEADO que esperan el cierre de su lote sin\ndueño y fuera de la tanda para siempre (§8.11). SQL plano: DELETE … USING.","operationId":"cerrar_cola_cola_estados_docs_cerrar_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CerrarColaResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/cola-estados-docs/{id_cola}":{"delete":{"tags":["Cola Estados Docs"],"summary":"Eliminar Item","description":"Elimina un ítem individual de la cola.\n\nEl id de cola es global y la cola no tiene entidad: el ítem se autoriza por\nsu documento (grupo + entidad activa + área, pendiente 341215) y el DELETE\nlleva ese documento, así que no alcanza el paso de otra entidad aunque el\nid sea enumerable. Fuera del contexto → 404.","operationId":"eliminar_item_cola_estados_docs__id_cola__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_cola","in":"path","required":true,"schema":{"type":"integer","title":"Id Cola"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cola-estados-docs/ejecutar":{"post":{"tags":["Cola Estados Docs"],"summary":"Ejecutar Cola","description":"Lanza el procesamiento de la cola del grupo activo como BackgroundTask.\nRetorna 202 inmediatamente. El frontend sigue el progreso vía Realtime o\npolling sobre cola_estados_docs / ejecuciones_pipeline.\n\nHonesto: si no hay ítems PENDIENTE, retorna sin lanzar el procesador.","operationId":"ejecutar_cola_cola_estados_docs_ejecutar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-ingesta-sesion","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Ingesta-Sesion"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EjecutarColaRequest","default":{}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EjecutarColaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cola-estados-docs/procesar-lote":{"post":{"tags":["Cola Estados Docs"],"summary":"Procesar Lote Backend","description":"Corre TODAS las fases backend-only pendientes del grupo (ANALIZAR→\nCHUNKEAR→VECTORIZAR, destinos ESCANEADO/CHUNKEADO/VECTORIZADO) en\nlockstep, en UNA invocación — motor único P4 ítem a.3\n(`app.services.orquestador_lote_cloud`, mismo `orquestador_lote` del core\nque ya usa el Desktop). CARGAR/EXTRAER quedan fuera: dependen del\nnavegador (excepción E2, permanente) y el frontend los sigue disparando\nél mismo.\n\nPensado para reemplazar, del lado backend, el loop de 3 llamadas\nsecuenciales que hoy arma el frontend (`ejecutarFasesDelPipeline` para\nANALIZAR/CHUNKEAR/VECTORIZAR): el cliente dispara UNA vez acá y sigue el\navance vía `/resumen-pipeline`, en vez de manejar la secuencia y el\nreintento por estancamiento él mismo.\n\nADITIVO: no reemplaza `/ejecutar` (paso a paso puntual, sigue intacto\npara debugging/modo paso-a-paso). Corre como BackgroundTask (202\ninmediato); si una fase no avanza, corta sola (misma señal de\nestancamiento que ya usaba el frontend, aplicada server-side).","operationId":"procesar_lote_backend_cola_estados_docs_procesar_lote_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-ingesta-sesion","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Ingesta-Sesion"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EjecutarColaRequest","default":{}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EjecutarColaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cola-estados-docs/lote-efectivo":{"get":{"tags":["Cola Estados Docs"],"summary":"Lote Efectivo","description":"Estado del lote efectivo abierto de la entidad activa (diseño 2026-09-14):\ncuántos documentos lleva, los silencios de llegada, qué decidiría el core y si\nEXTRAER puede seguir (ANALIZAR lo frena con METADATA ≥ tope). Solo lectura:\nel cierre lo hace el lote común.","operationId":"lote_efectivo_cola_estados_docs_lote_efectivo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoteEfectivoResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/cola-estados-docs/lote-efectivo/avanzar":{"post":{"tags":["Cola Estados Docs"],"summary":"Avanzar Lote Efectivo","description":"Un paso del tramo backend de la entidad activa: analiza lo que llegó a\nMETADATA (hasta el tope del lote abierto), evalúa el cierre del lote efectivo y\nlleva a CHUNKEAR/VECTORIZAR lo que el cierre liberó. Lo llama la alimentación\nweb mientras corre, para que un lote de prueba cierre al minuto de callar la\ncarga y no a la próxima vuelta del cron.\n\nComo la selección de `/procesar-lote`, corre acá aunque la alimentación esté\ndelegada: el alcance es la entidad activa del usuario, no el backlog del grupo.\nEl lock por grupo hace inocua una llamada con otra corrida en curso (202).","operationId":"avanzar_lote_efectivo_cola_estados_docs_lote_efectivo_avanzar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-ingesta-sesion","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Ingesta-Sesion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EjecutarColaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cola-estados-docs/lote-efectivo/resumir":{"post":{"tags":["Cola Estados Docs"],"summary":"Resumir Lote Efectivo","description":"Resumen del Espacio de inferencias a voluntad (CONSOLIDATE_DIGESTS): suma los\ndocumentos de digestión de la entidad activa y reemplaza su perfil del corpus.\nCorre solo al cerrar un lote por carga detenida; esto lo dispara a mano.","operationId":"resumir_lote_efectivo_cola_estados_docs_lote_efectivo_resumir_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResumirLoteEfectivoResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/cola-estados-docs/procesar-lote/estado":{"post":{"tags":["Cola Estados Docs"],"summary":"Estado Lote Filtro","description":"Avance del filtro vivo de la web (§8.12): pendientes por estado del tramo\nbackend y NO_ESCANEABLE desde el inicio de la vuelta. Solo lo que el usuario ve.","operationId":"estado_lote_filtro_cola_estados_docs_procesar_lote_estado_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstadoLoteFiltroRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstadoLoteFiltroResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/cola-estados-docs/pausar-ingesta":{"post":{"tags":["Cola Estados Docs"],"summary":"Pausar Ingesta","description":"Freno per-usuario del drenaje de fondo (cron LOTE_AUTO).\n\nEscribe el estado interno `ingesta_usuario_estado.ingesta_pausada` del\nusuario actual. Con `pausar=true` el cron omite del lote los documentos de\nESTE usuario (no los de sus compañeros de grupo — alcance por usuario). El\nbotón \"Detener\" y la reversa llaman con true; \"Ejecutar\" con false. El\nworker en vuelo termina sus ítems actuales; el freno corta el avance a la\nsiguiente fase, no mata la pasada en curso.\n\nLa escritura del flag vive en `documento_service.pausar_ingesta_usuario`\n(fuente única): este endpoint y la reversa masiva la comparten.","operationId":"pausar_ingesta_cola_estados_docs_pausar_ingesta_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-ingesta-sesion","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Ingesta-Sesion"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PausarIngestaRequest","default":{"pausar":true}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PausarIngestaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cola-estados-docs/huerfanos":{"get":{"tags":["Cola Estados Docs"],"summary":"Contar Huerfanos","description":"Cuenta items EN_PROCESO huérfanos (fecha_inicio anterior a `minutos`)\nsin liberarlos. Si minutos=0, cuenta TODOS los EN_PROCESO del grupo.\nUsado por el diálogo de reanudación de la pantalla de procesamiento al cargar.","operationId":"contar_huerfanos_cola_estados_docs_huerfanos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"minutos","in":"query","required":false,"schema":{"type":"integer","maximum":1440,"minimum":0,"default":5,"title":"Minutos"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContarHuerfanosResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cola-estados-docs/recuperar-huerfanos":{"post":{"tags":["Cola Estados Docs"],"summary":"Recuperar Huerfanos","description":"Pasa de EN_PROCESO → PENDIENTE los ítems cuya fecha_inicio sea anterior\na hace `minutos` minutos (default 5). Si minutos=0, libera TODOS los\nEN_PROCESO del grupo (usado por el botón Detener para abortar leases vivos).\nÚtil cuando Railway reinicia el contenedor mientras el procesador estaba\ncorriendo: los ítems que se quedaron colgados en EN_PROCESO vuelven a\nPENDIENTE para ser retomados.","operationId":"recuperar_huerfanos_cola_estados_docs_recuperar_huerfanos_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"minutos","in":"query","required":false,"schema":{"type":"integer","maximum":1440,"minimum":0,"default":5,"title":"Minutos"}},{"name":"x-ingesta-sesion","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Ingesta-Sesion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecuperarHuerfanosResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cola-estados-docs/ejecuciones":{"get":{"tags":["Cola Estados Docs"],"summary":"Historial de ejecuciones del pipeline","description":"Historial del pipeline para el grupo activo: una fila por (documento, paso).\nSustituye a la antigua tabla `ejecuciones_pipeline` (mig 443). Devuelve filas\nde `procesos` con categoría PROCESAR_DOCS.","operationId":"listar_ejecuciones_cola_estados_docs_ejecuciones_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"codigo_tipo_proceso","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"CARGAR/EXTRAER/ANALIZAR/CHUNKEAR/VECTORIZAR","title":"Codigo Tipo Proceso"},"description":"CARGAR/EXTRAER/ANALIZAR/CHUNKEAR/VECTORIZAR"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cola-estados-docs/limpiar-completados":{"post":{"tags":["Cola Estados Docs"],"summary":"Limpiar Completados","description":"Elimina ítems COMPLETADOs de la cola del grupo activo.\n\nForma parte del cierre de lote operativo (ver PLAN_PROCESAMIENTO_LOTES.md\n§ Lote operativo). Se llama después de procesar una ventana de\nTAMANO_PAQUETE documentos para mantener `cola_estados_docs` acotado y\nsoportar 100k+ docs sin reventar SQLite/WAL en cliente ni inflar la cola\nen Cloud.\n\nNo afecta documentos: solo limpia el historial de cola. Los docs siguen\nen `documentos` con su `codigo_estado_doc` final.","operationId":"limpiar_completados_cola_estados_docs_limpiar_completados_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"estado_destino","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Si viene, limpia solo este destino","title":"Estado Destino"},"description":"Si viene, limpia solo este destino"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimpiarCompletadosResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/carga-prioritaria/preparar":{"post":{"tags":["Carga prioritaria"],"summary":"Preparar Carga Prioritaria","description":"Un documento soltado en la pantalla de carga prioritaria.\n\nLa carpeta del archivo tiene que existir como ubicación de la entidad activa\n(si no, 409 `CARGA_PRIORITARIA_SIN_UBICACION`: primero se cargan las\nubicaciones). Si el documento no está registrado se registra en CARGADO con la\ncarga desde ubicaciones. Según su estado: CARGADO → el navegador lo extrae y\nconfirma; METADATA/ESCANEADO/CHUNKEADO → se marca prioritario y se empuja el\ntramo backend; VECTORIZADO → ya está disponible.","operationId":"preparar_carga_prioritaria_carga_prioritaria_preparar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrepararPrioritarioRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CargaPrioritariaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/carga-prioritaria/{codigo_documento}/confirmar":{"post":{"tags":["Carga prioritaria"],"summary":"Confirmar Carga Prioritaria","description":"El navegador ya extrajo el documento prioritario: se marca prioritario y se\nempuja el tramo backend de la entidad para que lo analice y lo lleve a buscar\nsin esperar el cierre del lote efectivo.","operationId":"confirmar_carga_prioritaria_carga_prioritaria__codigo_documento__confirmar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CargaPrioritariaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registro-llm":{"get":{"tags":["Registro LLM"],"summary":"Listar Modelos","operationId":"listar_modelos_registro_llm_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RegistroLLMResponse"},"type":"array","title":"Response Listar Modelos Registro Llm Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Registro LLM"],"summary":"Crear Modelo","operationId":"crear_modelo_registro_llm_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistroLLMCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistroLLMResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/registro-llm/{id_modelo}":{"put":{"tags":["Registro LLM"],"summary":"Actualizar Modelo","operationId":"actualizar_modelo_registro_llm__id_modelo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_modelo","in":"path","required":true,"schema":{"type":"integer","title":"Id Modelo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistroLLMUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistroLLMResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Registro LLM"],"summary":"Desactivar Modelo","operationId":"desactivar_modelo_registro_llm__id_modelo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_modelo","in":"path","required":true,"schema":{"type":"integer","title":"Id Modelo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registro-llm/{id_modelo}/probar":{"post":{"tags":["Registro LLM"],"summary":"Probar Modelo","description":"Envía un mensaje de prueba al modelo LLM y retorna la respuesta.","operationId":"probar_modelo_registro_llm__id_modelo__probar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_modelo","in":"path","required":true,"schema":{"type":"integer","title":"Id Modelo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProbarRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProbarResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/proveedores/tipos":{"get":{"tags":["Proveedores"],"summary":"Listar Tipos","operationId":"listar_tipos_proveedores_tipos_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TipoProveedorResponse"},"type":"array","title":"Response Listar Tipos Proveedores Tipos Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/proveedores":{"get":{"tags":["Proveedores"],"summary":"Listar Proveedores","operationId":"listar_proveedores_proveedores_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ProveedorResponse"},"type":"array","title":"Response Listar Proveedores Proveedores Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Proveedores"],"summary":"Crear Proveedor","operationId":"crear_proveedor_proveedores_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProveedorCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProveedorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/proveedores/{id_proveedor}":{"put":{"tags":["Proveedores"],"summary":"Actualizar Proveedor","operationId":"actualizar_proveedor_proveedores__id_proveedor__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_proveedor","in":"path","required":true,"schema":{"type":"integer","title":"Id Proveedor"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProveedorUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProveedorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Proveedores"],"summary":"Eliminar Proveedor","operationId":"eliminar_proveedor_proveedores__id_proveedor__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_proveedor","in":"path","required":true,"schema":{"type":"integer","title":"Id Proveedor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/conversaciones":{"get":{"tags":["Chat LLM"],"summary":"Listar Conversaciones","description":"Lista las conversaciones activas del usuario en el grupo activo.\nFiltra por codigo_funcion cuando se indica (para separar los distintos chats).","operationId":"listar_conversaciones_chat_conversaciones_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_funcion","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InterfazConversacionResponse"},"title":"Response Listar Conversaciones Chat Conversaciones Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Chat LLM"],"summary":"Crear Conversacion","description":"Crea una nueva conversación. El modelo se toma del id_modelo de la función indicada.\nSi el usuario ya tiene MAX_CONVERSACIONES_USUARIO activas, se elimina la más antigua (FIFO).","operationId":"crear_conversacion_chat_conversaciones_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterfazConversacionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterfazConversacionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/conversaciones/{id_conversacion}":{"get":{"tags":["Chat LLM"],"summary":"Obtener Conversacion","description":"Retorna la conversación con todos sus mensajes en orden cronológico.","operationId":"obtener_conversacion_chat_conversaciones__id_conversacion__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_conversacion","in":"path","required":true,"schema":{"type":"integer","title":"Id Conversacion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterfazConversacionDetalle"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Chat LLM"],"summary":"Actualizar Conversacion","description":"Renombra el título de una conversación.","operationId":"actualizar_conversacion_chat_conversaciones__id_conversacion__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_conversacion","in":"path","required":true,"schema":{"type":"integer","title":"Id Conversacion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterfazConversacionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterfazConversacionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Chat LLM"],"summary":"Eliminar Conversacion","description":"Hard delete (cascade a mensajes).\n\nTambién limpia los docs CONSOLIDADO temporales y los espacios del árbol\nde reducción recursiva del usuario (ver Plan de Reducción Recursiva D2).","operationId":"eliminar_conversacion_chat_conversaciones__id_conversacion__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_conversacion","in":"path","required":true,"schema":{"type":"integer","title":"Id Conversacion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/limpieza-temporales":{"post":{"tags":["Chat LLM"],"summary":"Limpieza Temporales","description":"Limpia los docs CONSOLIDADO temporales y los espacios del árbol de\nreducción del usuario en su grupo activo. Operación explícita (botón en UI).","operationId":"limpieza_temporales_chat_limpieza_temporales_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/promover-consolidado":{"post":{"tags":["Chat LLM"],"summary":"Promover Consolidado","description":"Promueve un doc sintético CONSOLIDADO a documento permanente.\n\nCambia codigo_ubicacion (a una ubicación CONTENIDO del usuario),\ncodigo_estado_doc a CARGADO (para que entre al pipeline normal y se\nvectorice eventualmente), y limpia tabla_origen/fila_origen_id.","operationId":"promover_consolidado_chat_promover_consolidado_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromoverConsolidadoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/conversaciones/{id_conversacion}/system-prompt-preview":{"get":{"tags":["Chat LLM"],"summary":"Preview System Prompt","description":"Devuelve el system_prompt que se enviaria al LLM si el usuario mandase\nun mensaje ahora en esta conversacion. Pensado para debug/auditoria de la\nparametrizacion del chat. Restringido a super-admin (grupo ADMIN).","operationId":"preview_system_prompt_chat_conversaciones__id_conversacion__system_prompt_preview_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_conversacion","in":"path","required":true,"schema":{"type":"integer","title":"Id Conversacion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/conversaciones/{id_conversacion}/mensajes/stream":{"post":{"tags":["Chat LLM"],"summary":"Enviar Mensaje Stream","description":"Recibe un mensaje del usuario y devuelve la respuesta del LLM en streaming SSE.\n\nProtocolo SSE:\n    data: {\"text\":\"chunk de texto\"}\n\n\n    data: {\"text\":\"otro chunk\"}\n\n\n    ...\n    data: {\"done\":true,\"id_mensaje_user\":N,\"id_mensaje_assistant\":M}\n\n\n\nSi hay error:\n    data: {\"error\":\"mensaje\"}\n\n\n\nEl frontend debe leer el ReadableStream del body y parsear cada `data: ...` línea.","operationId":"enviar_mensaje_stream_chat_conversaciones__id_conversacion__mensajes_stream_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_conversacion","in":"path","required":true,"schema":{"type":"integer","title":"Id Conversacion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterfazMensajeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/interfaz/conversaciones":{"get":{"tags":["Chat LLM"],"summary":"Listar Conversaciones","description":"Lista las conversaciones activas del usuario en el grupo activo.\nFiltra por codigo_funcion cuando se indica (para separar los distintos chats).","operationId":"listar_conversaciones_interfaz_conversaciones_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_funcion","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InterfazConversacionResponse"},"title":"Response Listar Conversaciones Interfaz Conversaciones Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Chat LLM"],"summary":"Crear Conversacion","description":"Crea una nueva conversación. El modelo se toma del id_modelo de la función indicada.\nSi el usuario ya tiene MAX_CONVERSACIONES_USUARIO activas, se elimina la más antigua (FIFO).","operationId":"crear_conversacion_interfaz_conversaciones_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterfazConversacionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterfazConversacionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/interfaz/conversaciones/{id_conversacion}":{"get":{"tags":["Chat LLM"],"summary":"Obtener Conversacion","description":"Retorna la conversación con todos sus mensajes en orden cronológico.","operationId":"obtener_conversacion_interfaz_conversaciones__id_conversacion__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_conversacion","in":"path","required":true,"schema":{"type":"integer","title":"Id Conversacion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterfazConversacionDetalle"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Chat LLM"],"summary":"Actualizar Conversacion","description":"Renombra el título de una conversación.","operationId":"actualizar_conversacion_interfaz_conversaciones__id_conversacion__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_conversacion","in":"path","required":true,"schema":{"type":"integer","title":"Id Conversacion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterfazConversacionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterfazConversacionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Chat LLM"],"summary":"Eliminar Conversacion","description":"Hard delete (cascade a mensajes).\n\nTambién limpia los docs CONSOLIDADO temporales y los espacios del árbol\nde reducción recursiva del usuario (ver Plan de Reducción Recursiva D2).","operationId":"eliminar_conversacion_interfaz_conversaciones__id_conversacion__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_conversacion","in":"path","required":true,"schema":{"type":"integer","title":"Id Conversacion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/interfaz/limpieza-temporales":{"post":{"tags":["Chat LLM"],"summary":"Limpieza Temporales","description":"Limpia los docs CONSOLIDADO temporales y los espacios del árbol de\nreducción del usuario en su grupo activo. Operación explícita (botón en UI).","operationId":"limpieza_temporales_interfaz_limpieza_temporales_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/interfaz/promover-consolidado":{"post":{"tags":["Chat LLM"],"summary":"Promover Consolidado","description":"Promueve un doc sintético CONSOLIDADO a documento permanente.\n\nCambia codigo_ubicacion (a una ubicación CONTENIDO del usuario),\ncodigo_estado_doc a CARGADO (para que entre al pipeline normal y se\nvectorice eventualmente), y limpia tabla_origen/fila_origen_id.","operationId":"promover_consolidado_interfaz_promover_consolidado_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromoverConsolidadoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/interfaz/conversaciones/{id_conversacion}/system-prompt-preview":{"get":{"tags":["Chat LLM"],"summary":"Preview System Prompt","description":"Devuelve el system_prompt que se enviaria al LLM si el usuario mandase\nun mensaje ahora en esta conversacion. Pensado para debug/auditoria de la\nparametrizacion del chat. Restringido a super-admin (grupo ADMIN).","operationId":"preview_system_prompt_interfaz_conversaciones__id_conversacion__system_prompt_preview_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_conversacion","in":"path","required":true,"schema":{"type":"integer","title":"Id Conversacion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/interfaz/conversaciones/{id_conversacion}/mensajes/stream":{"post":{"tags":["Chat LLM"],"summary":"Enviar Mensaje Stream","description":"Recibe un mensaje del usuario y devuelve la respuesta del LLM en streaming SSE.\n\nProtocolo SSE:\n    data: {\"text\":\"chunk de texto\"}\n\n\n    data: {\"text\":\"otro chunk\"}\n\n\n    ...\n    data: {\"done\":true,\"id_mensaje_user\":N,\"id_mensaje_assistant\":M}\n\n\n\nSi hay error:\n    data: {\"error\":\"mensaje\"}\n\n\n\nEl frontend debe leer el ReadableStream del body y parsear cada `data: ...` línea.","operationId":"enviar_mensaje_stream_interfaz_conversaciones__id_conversacion__mensajes_stream_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_conversacion","in":"path","required":true,"schema":{"type":"integer","title":"Id Conversacion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterfazMensajeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/context":{"get":{"tags":["Agents"],"summary":"Get Agent Context","operationId":"get_agent_context_agent_context_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"function_profile","in":"query","required":false,"schema":{"$ref":"#/components/schemas/FunctionProfile","default":"chat_usuario"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentContextResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/tools/{public_name}":{"post":{"tags":["Agents"],"summary":"Run Agent Tool","operationId":"run_agent_tool_agent_tools__public_name__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"public_name","in":"path","required":true,"schema":{"type":"string","title":"Public Name"}},{"name":"function_profile","in":"query","required":false,"schema":{"$ref":"#/components/schemas/FunctionProfile","default":"chat_usuario"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolCallRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Run Agent Tool Agent Tools  Public Name  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/catalogo":{"get":{"tags":["Catálogo"],"summary":"Obtener Catalogo","description":"Catálogo de capabilities del usuario actual (funciones + habilidades).\n\nInterfaz-agnóstico: misma respuesta para chat, MCP y CLI. El filtro de acceso\n(rol + tipo_acceso + grupo + app) lo aplican las vistas `*_disponibles`.","operationId":"obtener_catalogo_catalogo_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tipo","in":"query","required":false,"schema":{"type":"string","description":"Filtro de tipo: FUNCIONES | HABILIDADES | TODO","default":"TODO","title":"Tipo"},"description":"Filtro de tipo: FUNCIONES | HABILIDADES | TODO"},{"name":"solo_publicables","in":"query","required":false,"schema":{"type":"boolean","description":"Excluye lo que no cruza la frontera externa (tipo_acceso SISTEMA)","default":false,"title":"Solo Publicables"},"description":"Excluye lo que no cruza la frontera externa (tipo_acceso SISTEMA)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/catalogo/public-codes":{"get":{"tags":["Catálogo"],"summary":"Obtener Codigos Publicos","description":"List public English catalog aliases without exposing internal codes.\n\nResponse: `{ \"domains\": { \"status\": [\"VECTORIZED\", ...], ... } }`.\nIntegrators use these stable aliases directly; translation to an internal\ndatabase code happens only inside the server.","operationId":"obtener_codigos_publicos_catalogo_public_codes_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"domains","in":"query","required":false,"schema":{"type":"string","description":"Comma-separated domains to include (e.g. status,doc_type). Empty = all.","default":"","title":"Domains"},"description":"Comma-separated domains to include (e.g. status,doc_type). Empty = all."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/catalogo/funciones/{codigo}":{"get":{"tags":["Catálogo"],"summary":"Obtener Funcion Catalogo","description":"Detalle de UNA función del catálogo: ficha + documentación operacional.\n\nSimétrico a `GET /habilidades/{codigo}`: el catálogo enumera, este endpoint\nda el detalle. Es la fuente única del detalle de una función para todas las\ninterfaces (REST público `/v1/functions/{code}`, MCP, CLI y el sitio); el\nchat llega a lo mismo por la tool `leer_md`.\n\nEl acceso se verifica contra `v_funciones_disponibles` con los mismos GUCs\nque el catálogo, así que una función fuera del alcance del usuario responde\n404 en vez de filtrar su existencia.\n\n`comportamientos` son las afirmaciones operacionales publicables (la misma\nprosa saneada que `md` proyecta), en estructura para que un agente pueda\nfiltrarlas por clase.","operationId":"obtener_funcion_catalogo_catalogo_funciones__codigo__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"solo_publicables","in":"query","required":false,"schema":{"type":"boolean","description":"404 si la función es maquinaria interna (tipo_acceso SISTEMA)","default":false,"title":"Solo Publicables"},"description":"404 si la función es maquinaria interna (tipo_acceso SISTEMA)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/destinos-webhook":{"get":{"tags":["Destinos Webhook"],"summary":"Listar Destinos","operationId":"listar_destinos_destinos_webhook_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DestinoWebhookResponse"},"type":"array","title":"Response Listar Destinos Destinos Webhook Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Destinos Webhook"],"summary":"Crear Destino","operationId":"crear_destino_destinos_webhook_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DestinoWebhookCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DestinoWebhookResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/destinos-webhook/{id_destino}":{"put":{"tags":["Destinos Webhook"],"summary":"Actualizar Destino","operationId":"actualizar_destino_destinos_webhook__id_destino__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_destino","in":"path","required":true,"schema":{"type":"integer","title":"Id Destino"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DestinoWebhookUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DestinoWebhookResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Destinos Webhook"],"summary":"Eliminar Destino","operationId":"eliminar_destino_destinos_webhook__id_destino__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_destino","in":"path","required":true,"schema":{"type":"integer","title":"Id Destino"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/llm-precios":{"get":{"tags":["LLM Precios"],"summary":"Listar Precios","operationId":"listar_precios_llm_precios_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/llm-precios/{proveedor}/{nombre_tecnico}":{"put":{"tags":["LLM Precios"],"summary":"Upsert Precio","operationId":"upsert_precio_llm_precios__proveedor___nombre_tecnico__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"proveedor","in":"path","required":true,"schema":{"type":"string","title":"Proveedor"}},{"name":"nombre_tecnico","in":"path","required":true,"schema":{"type":"string","title":"Nombre Tecnico"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrecioUpsert"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/llm-uso":{"get":{"tags":["LLM Uso"],"summary":"Listar Uso","operationId":"listar_uso_llm_uso_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"desde","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"YYYY-MM-DD","title":"Desde"},"description":"YYYY-MM-DD"},{"name":"hasta","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"YYYY-MM-DD","title":"Hasta"},"description":"YYYY-MM-DD"},{"name":"proveedor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proveedor"}},{"name":"modelo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modelo"}},{"name":"codigo_usuario","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario"}},{"name":"codigo_funcion","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"}},{"name":"solo_errores","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Solo Errores"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"default":500,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/llm-uso/global":{"get":{"tags":["LLM Uso"],"summary":"Listar Uso Global","description":"Vista global sin filtro de grupo — solo el operador (ver `_grupo_consultable`).","operationId":"listar_uso_global_llm_uso_global_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"desde","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"YYYY-MM-DD","title":"Desde"},"description":"YYYY-MM-DD"},{"name":"hasta","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"YYYY-MM-DD","title":"Hasta"},"description":"YYYY-MM-DD"},{"name":"proveedor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proveedor"}},{"name":"modelo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modelo"}},{"name":"codigo_grupo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"}},{"name":"codigo_funcion","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"}},{"name":"solo_errores","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Solo Errores"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"default":500,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/llm-uso/resumen-global":{"get":{"tags":["LLM Uso"],"summary":"Resumen Global","description":"Resumen del mes en curso — global o filtrado por grupo — para el operador.","operationId":"resumen_global_llm_uso_resumen_global_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_grupo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/llm-uso/resumen":{"get":{"tags":["LLM Uso"],"summary":"Resumen Mes Actual","description":"Totales del mes en curso para el grupo activo.","operationId":"resumen_mes_actual_llm_uso_resumen_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/llm-uso/mensual":{"get":{"tags":["LLM Uso"],"summary":"Mensual","description":"Serie por mes del detalle retenido y del resumen materializado.\n\n`tokens_input` ya representa input frío. La convención explicita evita que\nclientes antiguos resten la caché por segunda vez al mostrar meses legados.","operationId":"mensual_llm_uso_mensual_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"meses","in":"query","required":false,"schema":{"type":"integer","maximum":24,"minimum":1,"default":6,"title":"Meses"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cliente/sincronizar-catalogo":{"get":{"tags":["Cliente LM"],"summary":"Sincronizar Catalogo","description":"Devuelve el catálogo completo del RAGfly Desktop para el grupo activo del usuario.\n\nLas API keys vienen cifradas con AES-256-GCM y clave derivada del codigo_usuario\nvia HKDF-SHA256 — el Client las descifra en RAM en cada arranque.\n\nTriggers de uso:\n  - Botón \"Refrescar catálogo\" en menú admin del Client.\n  - Just-in-time antes de indexar un documento o paquete.","operationId":"sincronizar_catalogo_api_cliente_sincronizar_catalogo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogoSyncResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/llm/cerrar":{"post":{"tags":["Cliente LM"],"summary":"Cerrar Uso Llm Retirado","description":"Retirado (Task 8, 2026-07-18): el contrato por-llamada murió con la\ncontabilidad agregada. Actualiza RAGfly Desktop a la versión 1.18.31 o\nsuperior — habla `/cerrar-lote` con eventos agregados.","operationId":"cerrar_uso_llm_retirado_api_llm_cerrar_post","responses":{"410":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/llm/cerrar-lote":{"post":{"tags":["Cliente LM"],"summary":"Cerrar Uso Llm Lote","description":"Aplica un paquete de eventos de contabilidad LLM del RAGfly Desktop.\n\nCada evento (buckets + detalles ya agregados por el `AcumuladorUsoLLM`\nlocal) se aplica atómicamente vía `fn_aplicar_evento_uso_llm`, idempotente\npor `event_id` — reenviar uno ya aplicado responde `duplicado=true` sin\ntocar contadores. Un evento inválido no tumba el paquete: se reporta en\nsu entrada de `resultados` y el Desktop lo reintenta con backoff.\n\nSupabase corre fuera del event loop (`run_in_threadpool`): un paquete de\n100 eventos/1000 buckets no debe bloquear otros requests concurrentes\n(p.ej. `/openapi.json`).","operationId":"cerrar_uso_llm_lote_api_llm_cerrar_lote_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMCerrarLoteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMCerrarLoteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/llm/proxy":{"post":{"tags":["Cliente LM"],"summary":"Proxy Llm Retirado","description":"Retirado (D31, usuario 2026-09-18; auditoría de guardas H15): el proxy\nciego firmaba con la credencial del grupo sin registrar `llm_uso` ni\ndescontar cupo, y no tenía llamadores (web, Desktop, SDK). Igual que\n`/cerrar`, no pide sesión: responde 410 a cualquiera, sin resolver\ncredenciales ni llamar al proveedor.","operationId":"proxy_llm_retirado_api_llm_proxy_post","responses":{"410":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/cola/proximas":{"get":{"tags":["Cliente LM — Cola"],"summary":"Obtener Proximas Tareas","description":"Devuelve hasta `limite` tareas LOCAL PENDIENTE del grupo y las marca EN_PROCESO.\n\nEl RAGfly Desktop llama este endpoint en su loop de polling (ej. cada 30s).\nSolo retorna tareas con modo_procesamiento='LOCAL' del grupo_activo del usuario.\n\nEl claim es semi-atómico: SELECT primero, UPDATE después. Si dos workers\ncorrieran en paralelo sobre el mismo grupo, el segundo UPDATE no encontraría\nfilas y recibiría lista vacía (comportamiento seguro).","operationId":"obtener_proximas_tareas_api_cola_proximas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limite","in":"query","required":false,"schema":{"type":"integer","default":5,"title":"Limite"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProximasResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/cola/estado":{"post":{"tags":["Cliente LM — Cola"],"summary":"Reportar Estado Tarea","description":"El RAGfly Desktop reporta el resultado de una tarea LOCAL.\n\n- COMPLETADO: actualiza cola + avanza estado del documento. Si viene\n  `texto_fuente`, lo guarda en `documento_texto` (paso ESCANEADO).\n- ERROR: actualiza cola con mensaje_error. Si intentos >= max_intentos,\n  deja en ERROR permanente; si no, revierte a PENDIENTE para reintento.","operationId":"reportar_estado_tarea_api_cola_estado_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportarEstadoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportarEstadoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/nodos/registrar":{"post":{"tags":["Nodos de procesamiento"],"summary":"Registrar Nodo","description":"Upsert del nodo. Idempotente — los workers lo llaman en cada arranque.\n\nDevuelve la fila final con `workers_perfil` y `workers_overrides` resueltos\npara que el worker sepa cuántos hilos lanzar por fase.","operationId":"registrar_nodo_api_nodos_registrar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistrarNodoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/nodos/{codigo_nodo}/estado-conductor":{"post":{"tags":["Nodos de procesamiento"],"summary":"Actualizar Estado Conductor","description":"Actualiza el snapshot operativo del conductor continuo de un nodo.","operationId":"actualizar_estado_conductor_api_nodos__codigo_nodo__estado_conductor_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_nodo","in":"path","required":true,"schema":{"type":"string","title":"Codigo Nodo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActualizarEstadoConductorRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NodoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nodos/{codigo_nodo}/observador/adquirir":{"post":{"tags":["Nodos de procesamiento"],"summary":"Adquirir Observador","description":"Primer Desktop del grupo gana; los siguientes reciben una negativa limpia.","operationId":"adquirir_observador_api_nodos__codigo_nodo__observador_adquirir_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_nodo","in":"path","required":true,"schema":{"type":"string","title":"Codigo Nodo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObservadorDesktopResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nodos/{codigo_nodo}/observador/latido":{"post":{"tags":["Nodos de procesamiento"],"summary":"Latido Observador","description":"Confirma propiedad y actividad; nunca adquiere una fila vacía.","operationId":"latido_observador_api_nodos__codigo_nodo__observador_latido_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_nodo","in":"path","required":true,"schema":{"type":"string","title":"Codigo Nodo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObservadorDesktopResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nodos/{codigo_nodo}/observador/revisar-web":{"post":{"tags":["Nodos de procesamiento"],"summary":"Programar Revision Web Grupo","description":"Encola la revisión diaria para las entidades autorizadas con URL del grupo.","operationId":"programar_revision_web_grupo_api_nodos__codigo_nodo__observador_revisar_web_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_nodo","in":"path","required":true,"schema":{"type":"string","title":"Codigo Nodo"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevisionWebGrupoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/nodos":{"get":{"tags":["Nodos de procesamiento"],"summary":"Listar Nodos","description":"Lista todos los nodos registrados. Lectura simple para dashboards.","operationId":"listar_nodos_api_nodos_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListarNodosResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/procesos/transiciones":{"get":{"tags":["Procesos"],"summary":"Listar Transiciones","description":"Lista el grafo completo de transiciones, opcionalmente filtrado por categoría.","operationId":"listar_transiciones_procesos_transiciones_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"PROCESAR | REVERTIR | CORREGIR","title":"Categoria"},"description":"PROCESAR | REVERTIR | CORREGIR"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TransicionResponse"},"title":"Response Listar Transiciones Procesos Transiciones Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos/transiciones/{id_transicion}":{"patch":{"tags":["Procesos"],"summary":"Actualizar Transicion","description":"Actualiza orden o id_modelo de una transición.","operationId":"actualizar_transicion_procesos_transiciones__id_transicion__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_transicion","in":"path","required":true,"schema":{"type":"integer","title":"Id Transicion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransicionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos":{"get":{"tags":["Procesos"],"summary":"Listar Procesos","description":"Lista procesos con su transición asociada. Filtra por categoria_transicion y, opcionalmente, por familia.","operationId":"listar_procesos_procesos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria_transicion","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"PROCESAR | REVERTIR | CORREGIR — filtra por categoría de transición","title":"Categoria Transicion"},"description":"PROCESAR | REVERTIR | CORREGIR — filtra por categoría de transición"},{"name":"codigo_categoria_proceso","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Lista separada por comas de familias de proceso (tipos_proceso.codigo_categoria_proceso) a incluir, en orden de prioridad (ej. 'PROCESAR_DOCS,MAPA_DUAL'). Una misma categoria_transicion puede agrupar varias familias no relacionadas (ej. el pipeline de documentos y las evaluaciones de RAG comparten categoria='PROCESAR'); quien llama decide cuáles quiere, el catálogo no adivina.","title":"Codigo Categoria Proceso"},"description":"Lista separada por comas de familias de proceso (tipos_proceso.codigo_categoria_proceso) a incluir, en orden de prioridad (ej. 'PROCESAR_DOCS,MAPA_DUAL'). Una misma categoria_transicion puede agrupar varias familias no relacionadas (ej. el pipeline de documentos y las evaluaciones de RAG comparten categoria='PROCESAR'); quien llama decide cuáles quiere, el catálogo no adivina."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProcesoResponse"},"title":"Response Listar Procesos Procesos Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos/reordenar":{"put":{"tags":["Procesos"],"summary":"Reordenar Procesos","description":"Actualiza el orden de los procesos en batch.","operationId":"reordenar_procesos_procesos_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ProcesoOrden"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/procesos/{codigo_proceso}":{"patch":{"tags":["Procesos"],"summary":"Actualizar Proceso","description":"Actualiza campos editables de un proceso.","operationId":"actualizar_proceso_procesos__codigo_proceso__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Procesos"],"summary":"Obtener Proceso","operationId":"obtener_proceso_procesos__codigo_proceso__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-grupo":{"get":{"tags":["Procesos del Grupo"],"summary":"Listar Procesos Grupo","operationId":"listar_procesos_grupo_procesos_grupo_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_entidad","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProcesoGrupoResponse"},"title":"Response Listar Procesos Grupo Procesos Grupo Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Procesos del Grupo"],"summary":"Crear Proceso Grupo","operationId":"crear_proceso_grupo_procesos_grupo_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoGrupoCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoGrupoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-grupo/reordenar":{"put":{"tags":["Procesos del Grupo"],"summary":"Reordenar Procesos Grupo","operationId":"reordenar_procesos_grupo_procesos_grupo_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ProcesoGrupoOrden"},"type":"array","maxItems":500,"title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/procesos-grupo/{id_proceso_grupo}":{"get":{"tags":["Procesos del Grupo"],"summary":"Obtener Proceso Grupo","operationId":"obtener_proceso_grupo_procesos_grupo__id_proceso_grupo__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_proceso_grupo","in":"path","required":true,"schema":{"type":"integer","title":"Id Proceso Grupo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoGrupoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Procesos del Grupo"],"summary":"Actualizar Proceso Grupo","operationId":"actualizar_proceso_grupo_procesos_grupo__id_proceso_grupo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_proceso_grupo","in":"path","required":true,"schema":{"type":"integer","title":"Id Proceso Grupo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoGrupoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoGrupoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Procesos del Grupo"],"summary":"Eliminar Proceso Grupo","operationId":"eliminar_proceso_grupo_procesos_grupo__id_proceso_grupo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_proceso_grupo","in":"path","required":true,"schema":{"type":"integer","title":"Id Proceso Grupo"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/categorias":{"get":{"tags":["Procesos - Datos Básicos"],"summary":"Listar Categorias Proceso","operationId":"listar_categorias_proceso_procesos_datos_basicos_categorias_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"app","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por aplicación asociada (rel_aplicacion_categoria_proceso)","title":"App"},"description":"Filtrar por aplicación asociada (rel_aplicacion_categoria_proceso)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Procesos - Datos Básicos"],"summary":"Crear Categoria Proceso","operationId":"crear_categoria_proceso_procesos_datos_basicos_categorias_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaProcesCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/categorias/reordenar":{"put":{"tags":["Procesos - Datos Básicos"],"summary":"Reordenar Categorias Proceso","operationId":"reordenar_categorias_proceso_procesos_datos_basicos_categorias_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/procesos-datos-basicos/categorias/{codigo}":{"put":{"tags":["Procesos - Datos Básicos"],"summary":"Actualizar Categoria Proceso","operationId":"actualizar_categoria_proceso_procesos_datos_basicos_categorias__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaProcesUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Procesos - Datos Básicos"],"summary":"Eliminar Categoria Proceso","operationId":"eliminar_categoria_proceso_procesos_datos_basicos_categorias__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/tipos":{"get":{"tags":["Procesos - Datos Básicos"],"summary":"Listar Tipos Proceso","operationId":"listar_tipos_proceso_procesos_datos_basicos_tipos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categoria"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Procesos - Datos Básicos"],"summary":"Crear Tipo Proceso","operationId":"crear_tipo_proceso_procesos_datos_basicos_tipos_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoProcesCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/tipos/reordenar":{"put":{"tags":["Procesos - Datos Básicos"],"summary":"Reordenar Tipos Proceso","description":"Actualiza el orden de los tipos de proceso dentro de una categoría.\nBody: [{codigo_categoria_proceso, codigo_tipo_proceso, orden}, ...]","operationId":"reordenar_tipos_proceso_procesos_datos_basicos_tipos_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/procesos-datos-basicos/tipos/{categoria}/{codigo}":{"put":{"tags":["Procesos - Datos Básicos"],"summary":"Actualizar Tipo Proceso","operationId":"actualizar_tipo_proceso_procesos_datos_basicos_tipos__categoria___codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoProcesUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Procesos - Datos Básicos"],"summary":"Eliminar Tipo Proceso","operationId":"eliminar_tipo_proceso_procesos_datos_basicos_tipos__categoria___codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/estados":{"get":{"tags":["Procesos - Datos Básicos"],"summary":"Listar Estados Proceso","operationId":"listar_estados_proceso_procesos_datos_basicos_estados_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categoria"}},{"name":"tipo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Procesos - Datos Básicos"],"summary":"Crear Estado Proceso","operationId":"crear_estado_proceso_procesos_datos_basicos_estados_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstadoProcesoCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/estados/reordenar":{"put":{"tags":["Procesos - Datos Básicos"],"summary":"Reordenar Estados Proceso","description":"Actualiza el orden de los estados de proceso dentro de una categoría+tipo.\nBody: [{codigo_categoria_proceso, codigo_tipo_proceso, codigo_estado_proceso, orden}, ...]","operationId":"reordenar_estados_proceso_procesos_datos_basicos_estados_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/procesos-datos-basicos/estados/{categoria}/{tipo}/{codigo}":{"put":{"tags":["Procesos - Datos Básicos"],"summary":"Actualizar Estado Proceso","operationId":"actualizar_estado_proceso_procesos_datos_basicos_estados__categoria___tipo___codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}},{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstadoProcesoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Procesos - Datos Básicos"],"summary":"Eliminar Estado Proceso","operationId":"eliminar_estado_proceso_procesos_datos_basicos_estados__categoria___tipo___codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}},{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/categorias/{codigo}/generar-md":{"post":{"tags":["Procesos - Datos Básicos"],"summary":"Generar Md Categoria Proceso","operationId":"generar_md_categoria_proceso_procesos_datos_basicos_categorias__codigo__generar_md_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/tipos/{categoria}/{codigo}/generar-md":{"post":{"tags":["Procesos - Datos Básicos"],"summary":"Generar Md Tipo Proceso","operationId":"generar_md_tipo_proceso_procesos_datos_basicos_tipos__categoria___codigo__generar_md_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/estados/{categoria}/{tipo}/{codigo}/generar-md":{"post":{"tags":["Procesos - Datos Básicos"],"summary":"Generar Md Estado Proceso","operationId":"generar_md_estado_proceso_procesos_datos_basicos_estados__categoria___tipo___codigo__generar_md_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}},{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/transiciones-estado":{"get":{"tags":["Procesos - Datos Básicos"],"summary":"Listar Transiciones Estado","operationId":"listar_transiciones_estado_procesos_datos_basicos_transiciones_estado_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"PROCESAR | REVERTIR | CORREGIR","title":"Categoria"},"description":"PROCESAR | REVERTIR | CORREGIR"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Procesos - Datos Básicos"],"summary":"Crear Transicion Estado","operationId":"crear_transicion_estado_procesos_datos_basicos_transiciones_estado_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransicionEstadoCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/transiciones-estado/{id_transicion}":{"put":{"tags":["Procesos - Datos Básicos"],"summary":"Actualizar Transicion Estado","operationId":"actualizar_transicion_estado_procesos_datos_basicos_transiciones_estado__id_transicion__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_transicion","in":"path","required":true,"schema":{"type":"integer","title":"Id Transicion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransicionEstadoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Procesos - Datos Básicos"],"summary":"Eliminar Transicion Estado","operationId":"eliminar_transicion_estado_procesos_datos_basicos_transiciones_estado__id_transicion__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_transicion","in":"path","required":true,"schema":{"type":"integer","title":"Id Transicion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/categorias/{codigo}/roles":{"get":{"tags":["Procesos - Datos Básicos"],"summary":"Roles De Categoria","operationId":"roles_de_categoria_procesos_datos_basicos_categorias__codigo__roles_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Procesos - Datos Básicos"],"summary":"Asignar Rol A Categoria","operationId":"asignar_rol_a_categoria_procesos_datos_basicos_categorias__codigo__roles_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/categorias/{codigo}/roles/{id_rol}":{"delete":{"tags":["Procesos - Datos Básicos"],"summary":"Quitar Rol De Categoria","operationId":"quitar_rol_de_categoria_procesos_datos_basicos_categorias__codigo__roles__id_rol__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/tipos/{categoria}/{codigo}/roles":{"get":{"tags":["Procesos - Datos Básicos"],"summary":"Roles De Tipo","operationId":"roles_de_tipo_procesos_datos_basicos_tipos__categoria___codigo__roles_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Procesos - Datos Básicos"],"summary":"Asignar Rol A Tipo","operationId":"asignar_rol_a_tipo_procesos_datos_basicos_tipos__categoria___codigo__roles_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/tipos/{categoria}/{codigo}/roles/{id_rol}":{"delete":{"tags":["Procesos - Datos Básicos"],"summary":"Quitar Rol De Tipo","operationId":"quitar_rol_de_tipo_procesos_datos_basicos_tipos__categoria___codigo__roles__id_rol__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"categoria","in":"path","required":true,"schema":{"type":"string","title":"Categoria"}},{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"id_rol","in":"path","required":true,"schema":{"type":"integer","title":"Id Rol"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/categorias/{codigo}/funciones":{"get":{"tags":["Procesos - Datos Básicos"],"summary":"Funciones De Categoria","description":"Funciones cableadas a esta categoría (lado categoría de la lengüeta doble).","operationId":"funciones_de_categoria_procesos_datos_basicos_categorias__codigo__funciones_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Procesos - Datos Básicos"],"summary":"Asignar Funcion A Categoria","operationId":"asignar_funcion_a_categoria_procesos_datos_basicos_categorias__codigo__funciones_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__routers__procesos_datos_basicos__FuncionAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/categorias/{codigo}/funciones/{codigo_funcion}":{"delete":{"tags":["Procesos - Datos Básicos"],"summary":"Quitar Funcion De Categoria","operationId":"quitar_funcion_de_categoria_procesos_datos_basicos_categorias__codigo__funciones__codigo_funcion__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"codigo_funcion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Funcion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/funciones/{codigo_funcion}/categorias":{"get":{"tags":["Procesos - Datos Básicos"],"summary":"Categorias De Funcion","description":"Categorías cableadas a esta función (lado función de la lengüeta doble).","operationId":"categorias_de_funcion_procesos_datos_basicos_funciones__codigo_funcion__categorias_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_funcion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Funcion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Procesos - Datos Básicos"],"summary":"Asignar Categoria A Funcion","operationId":"asignar_categoria_a_funcion_procesos_datos_basicos_funciones__codigo_funcion__categorias_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_funcion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Funcion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriaAsignar"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-datos-basicos/funciones/{codigo_funcion}/categorias/{codigo_categoria}":{"delete":{"tags":["Procesos - Datos Básicos"],"summary":"Quitar Categoria De Funcion","operationId":"quitar_categoria_de_funcion_procesos_datos_basicos_funciones__codigo_funcion__categorias__codigo_categoria__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_funcion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Funcion"}},{"name":"codigo_categoria","in":"path","required":true,"schema":{"type":"string","title":"Codigo Categoria"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-instancias/dashboard/areas":{"get":{"tags":["Procesos - Instancias"],"summary":"Dashboard Areas","description":"Resumen operativo de procesos pendientes agrupados por área.\n\nAlimenta el Home de Producto: pendientes por área, por tipo, por estado y\nlas N filas más críticas para administración diaria. Con `codigo_area`\ndevuelve el mismo resumen acotado a una sola área (vista por perfil).\n\nTodo se agrega en la BD: los conteos con GROUP BY y los críticos ordenados\npor su puntaje con LIMIT (antes se traían 1.000 filas y se contaba acá).","operationId":"dashboard_areas_procesos_instancias_dashboard_areas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limite_criticos","in":"query","required":false,"schema":{"type":"integer","maximum":25,"minimum":1,"default":10,"title":"Limite Criticos"}},{"name":"codigo_area","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Si viene, acota el resumen a esa área (perfil canónico). El área de cada proceso se resuelve como asignada → solicitud → área del usuario asignado.","title":"Codigo Area"},"description":"Si viene, acota el resumen a esa área (perfil canónico). El área de cada proceso se resuelve como asignada → solicitud → área del usuario asignado."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoDashboardAreasResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-instancias/dashboard/perfil":{"get":{"tags":["Procesos - Instancias"],"summary":"Dashboard Perfil","description":"Resumen por PERFIL (usuario + área): pendientes del usuario y del área,\nclasificadas por Clase (categoría de proceso) y, dentro de cada Clase, por\nESTADO concreto (los segmentos de la barra apilada).\n\nQué entra al resumen:\n  · estados NO terminales → si `solo_exigibles` (por defecto), únicamente los\n    que YA vencieron o vencen hoy según `fecha_comprometida`. Una meta que se\n    mide en tres meses no es trabajo de hoy y no debe inflar el tablero; con\n    `solo_exigibles=false` entra todo lo abierto (la lengüeta \"Todas\").\n  · estados TERMINALES (CERRADO, CANCELADO) → SOLO si el cierre cae en el\n    mes en curso, en ambas lengüetas. Un proceso cerrado hace tres meses no\n    dice nada del hoy.\n\nUn proceso sin `fecha_comprometida` se considera exigible (no hay plazo que\nesperar). El trigger de SLA se la asigna a todo proceso nuevo, así que en la\npráctica es un caso defensivo.\n\nUn proceso puede ser del usuario, del área, o de ambos; `total_union` no\nhace doble conteo y `por_clase.total` cuenta distintos en la unión.","operationId":"dashboard_perfil_procesos_instancias_dashboard_perfil_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_usuario","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Perfil: pendientes asignadas a este usuario","title":"Codigo Usuario"},"description":"Perfil: pendientes asignadas a este usuario"},{"name":"codigo_area","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Perfil: pendientes asignadas a esta área","title":"Codigo Area"},"description":"Perfil: pendientes asignadas a esta área"},{"name":"solo_exigibles","in":"query","required":false,"schema":{"type":"boolean","description":"Solo lo exigible hoy: fecha_comprometida vencida o de hoy. False = todo lo abierto.","default":true,"title":"Solo Exigibles"},"description":"Solo lo exigible hoy: fecha_comprometida vencida o de hoy. False = todo lo abierto."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoDashboardPerfilResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-instancias/dashboard/perfil/cierres":{"get":{"tags":["Procesos - Instancias"],"summary":"Dashboard Perfil Cierres","description":"Serie histórica de CIERRES del perfil, agrupada por período variable.\n\nComplementa al resumen (que solo mira el mes en curso): acá se ve el ritmo\nde cierre — cuántos procesos terminó el perfil por semana, mes o trimestre.\nCuenta los terminales por su fecha de cierre (`fecha_fin`, o `updated_at`\ncuando la fila histórica no la tiene), separando cerrados de cancelados.","operationId":"dashboard_perfil_cierres_procesos_instancias_dashboard_perfil_cierres_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_usuario","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Perfil: procesos del usuario","title":"Codigo Usuario"},"description":"Perfil: procesos del usuario"},{"name":"codigo_area","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Perfil: procesos del área","title":"Codigo Area"},"description":"Perfil: procesos del área"},{"name":"periodo","in":"query","required":false,"schema":{"type":"string","description":"Tamaño del bucket: SEMANA | MES | TRIMESTRE","default":"MES","title":"Periodo"},"description":"Tamaño del bucket: SEMANA | MES | TRIMESTRE"},{"name":"buckets","in":"query","required":false,"schema":{"type":"integer","maximum":24,"minimum":2,"description":"Cuántos períodos hacia atrás (incluye el actual)","default":6,"title":"Buckets"},"description":"Cuántos períodos hacia atrás (incluye el actual)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoDashboardPerfilCierresResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-instancias/dashboard/por-estado":{"get":{"tags":["Procesos - Instancias"],"summary":"Dashboard Por Estado","description":"Distribución GLOBAL de procesos por ESTADO CANÓNICO en los últimos `dias`.\n\nAlimenta el gráfico de la entrada del dashboard. Cubre todos los procesos del\nscope (grupo/entidad), abiertos y cerrados, agrupados por su estado canónico.","operationId":"dashboard_por_estado_procesos_instancias_dashboard_por_estado_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"dias","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"description":"Ventana hacia atrás por fecha_inicio (60 = ~2 meses)","default":60,"title":"Dias"},"description":"Ventana hacia atrás por fecha_inicio (60 = ~2 meses)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoDashboardPorEstadoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-instancias/dashboard/por-categoria":{"get":{"tags":["Procesos - Instancias"],"summary":"Dashboard Por Categoria","description":"Cantidad de procesos por CATEGORÍA y por TIPO, filtrable por ESTADO CANÓNICO.\n\nAlimenta el Dashboard de Procesos (nivel CEO/organización). Devuelve dos\nagregaciones — por categoría y por tipo (con su categoría) — que respetan el\nfiltro de estados canónicos, más el catálogo de estados canónicos con su\nconteo SIN filtrar (para pintar los chips de filtro con su distribución).\nRespeta el scope de grupo/entidad; el admin del sistema (ADMIN) ve todo.","operationId":"dashboard_por_categoria_procesos_instancias_dashboard_por_categoria_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"dias","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"description":"Ventana hacia atrás por fecha_inicio (90 = ~3 meses)","default":90,"title":"Dias"},"description":"Ventana hacia atrás por fecha_inicio (90 = ~3 meses)"},{"name":"estados","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Estados canónicos a incluir, separados por coma (ej. 'ABIERTO,PENDIENTE'). Vacío = todos.","title":"Estados"},"description":"Estados canónicos a incluir, separados por coma (ej. 'ABIERTO,PENDIENTE'). Vacío = todos."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoDashboardCategoriaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-instancias":{"get":{"tags":["Procesos - Instancias"],"summary":"Listar Instancias","operationId":"listar_instancias_procesos_instancias_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_categoria_proceso","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Categoria Proceso"}},{"name":"codigo_tipo_proceso","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Proceso"}},{"name":"codigo_estado","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado"}},{"name":"codigo_grupo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"}},{"name":"codigo_entidad","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}},{"name":"codigo_usuario","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario"}},{"name":"codigo_usuario_asignado","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario Asignado"}},{"name":"codigo_area","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtra por codigo_area_solicitud","title":"Codigo Area"},"description":"Filtra por codigo_area_solicitud"},{"name":"codigo_area_asignada","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtra por codigo_area_asignada","title":"Codigo Area Asignada"},"description":"Filtra por codigo_area_asignada"},{"name":"codigo_estado_canonico","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtra por estado canónico","title":"Codigo Estado Canonico"},"description":"Filtra por estado canónico"},{"name":"prioridad","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtra por prioridad","title":"Prioridad"},"description":"Filtra por prioridad"},{"name":"perfil_usuario","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Scope perfil: asignado a O creado por este usuario","title":"Perfil Usuario"},"description":"Scope perfil: asignado a O creado por este usuario"},{"name":"perfil_area","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Scope perfil: área asignada O de solicitud","title":"Perfil Area"},"description":"Scope perfil: área asignada O de solicitud"},{"name":"sin_area","in":"query","required":false,"schema":{"type":"boolean","description":"Procesos sin área asignada ni de solicitud","default":false,"title":"Sin Area"},"description":"Procesos sin área asignada ni de solicitud"},{"name":"nombre","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtra por nombre_proceso (contiene)","title":"Nombre"},"description":"Filtra por nombre_proceso (contiene)"},{"name":"funcion","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtra por nombre/código de función disparadora (contiene)","title":"Funcion"},"description":"Filtra por nombre/código de función disparadora (contiene)"},{"name":"fecha_inicio_desde","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtra fecha_inicio >= (YYYY-MM-DD)","title":"Fecha Inicio Desde"},"description":"Filtra fecha_inicio >= (YYYY-MM-DD)"},{"name":"fecha_inicio_hasta","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtra fecha_inicio <= (YYYY-MM-DD, inclusive)","title":"Fecha Inicio Hasta"},"description":"Filtra fecha_inicio <= (YYYY-MM-DD, inclusive)"},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Busca en nombre_proceso, alias_proceso, codigo_proceso, descripcion_proceso","title":"Q"},"description":"Busca en nombre_proceso, alias_proceso, codigo_proceso, descripcion_proceso"},{"name":"solo_abiertos","in":"query","required":false,"schema":{"type":"boolean","description":"Excluye los estados canónicos cerrados/terminales (mismo set que el dashboard)","default":false,"title":"Solo Abiertos"},"description":"Excluye los estados canónicos cerrados/terminales (mismo set que el dashboard)"},{"name":"ventana_resumen","in":"query","required":false,"schema":{"type":"boolean","description":"No terminales sin límite; CERRADO/CANCELADO solo del mes UTC actual","default":false,"title":"Ventana Resumen"},"description":"No terminales sin límite; CERRADO/CANCELADO solo del mes UTC actual"},{"name":"solo_exigibles","in":"query","required":false,"schema":{"type":"boolean","description":"Solo lo exigible hoy: fecha_comprometida vencida, de hoy o ausente (lengüeta 'Pendientes')","default":false,"title":"Solo Exigibles"},"description":"Solo lo exigible hoy: fecha_comprometida vencida, de hoy o ausente (lengüeta 'Pendientes')"},{"name":"solo_publicables","in":"query","required":false,"schema":{"type":"boolean","description":"Excluye los procesos SISTEMA aunque quien consulta pueda verlos. Lo pide la frontera externa (/v1, MCP): la maquinaria del producto —ingesta, uso de habilidades, notificaciones— no cruza al integrador (ARQ-06 §8.ter).","default":false,"title":"Solo Publicables"},"description":"Excluye los procesos SISTEMA aunque quien consulta pueda verlos. Lo pide la frontera externa (/v1, MCP): la maquinaria del producto —ingesta, uso de habilidades, notificaciones— no cruza al integrador (ARQ-06 §8.ter)."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Page Size"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":500,"minimum":1},{"type":"null"}],"description":"DEPRECATED: usar page + page_size","title":"Limit"},"description":"DEPRECATED: usar page + page_size"},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Campo para ordenar","default":"fecha_inicio","title":"Order By"},"description":"Campo para ordenar"},{"name":"order_dir","in":"query","required":false,"schema":{"type":"string","description":"asc | desc","default":"desc","title":"Order Dir"},"description":"asc | desc"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoInstanciaListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Procesos - Instancias"],"summary":"Crear Instancia","operationId":"crear_instancia_procesos_instancias_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoInstanciaCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoInstanciaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-instancias/corridas-delegadas":{"post":{"tags":["Procesos - Instancias"],"summary":"Crear Corrida Delegada Manual","description":"Dispara una corrida visible y su intento técnico, sin ejecutar ninguna estación.","operationId":"crear_corrida_delegada_manual_procesos_instancias_corridas_delegadas_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrearCorridaDelegadaBody"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorridaDelegadaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/procesos-instancias/documentar-funciones":{"post":{"tags":["Procesos - Instancias"],"summary":"Documentar Funciones Manual","description":"Encola el barrido documental completo a voluntad, sin encender su cron.\n\nEl endpoint genérico de corridas delegadas no sirve para este tipo: no\naporta el SHA desplegado ni el alcance, y la estación rechaza el contexto.\nAquí se arma exactamente el mismo contrato que el tick del cron —SHA del\ndespliegue, contexto ADMIN/ADMIN, alcance explícito— y ``cron_activo``\nqueda intacto: esta puerta no lo lee ni lo escribe.","operationId":"documentar_funciones_manual_procesos_instancias_documentar_funciones_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DocumentarFuncionesManualBody"},{"type":"null"}],"title":"Body"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorridaDelegadaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/procesos-instancias/reordenar":{"put":{"tags":["Procesos - Instancias"],"summary":"Reordenar Instancias","description":"Fija el orden manual de EJECUCIÓN de los procesos. Body: [{codigo_proceso, orden}, ...]\n\nEl arrastre en /profile-process y /profile-process-details manda acá. `orden`\nmenor = se ejecuta antes; NULL (lo no arrastrado) queda al final por fecha.\nCada fila pasa por `_verificar_acceso`: nadie reordena procesos de otro grupo,\nentidad, tipo de acceso o rama de áreas.","operationId":"reordenar_instancias_procesos_instancias_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":500,"title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/procesos-instancias/por-documento/{codigo_documento}":{"get":{"tags":["Procesos - Instancias"],"summary":"Historial Por Documento","description":"Historial durable del pipeline de un documento, desde `procesos`.\n\nLa cola contiene únicamente trabajo vivo. La autorización se resuelve sobre\nel documento (grupo, entidad y área) antes de consultar el JSON de tracking.","operationId":"historial_por_documento_procesos_instancias_por_documento__codigo_documento__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"path","required":true,"schema":{"type":"string","title":"Codigo Documento"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProcesoInstanciaResponse"},"title":"Response Historial Por Documento Procesos Instancias Por Documento  Codigo Documento  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-instancias/{codigo_proceso}":{"get":{"tags":["Procesos - Instancias"],"summary":"Obtener Instancia","operationId":"obtener_instancia_procesos_instancias__codigo_proceso__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoInstanciaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Procesos - Instancias"],"summary":"Actualizar Instancia","operationId":"actualizar_instancia_procesos_instancias__codigo_proceso__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoInstanciaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoInstanciaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Procesos - Instancias"],"summary":"Eliminar Instancia","operationId":"eliminar_instancia_procesos_instancias__codigo_proceso__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-instancias/{codigo_proceso}/accion":{"post":{"tags":["Procesos - Instancias"],"summary":"Accionar Proceso","description":"Deriva o escala un proceso mediante el motor determinista de decisiones.\n\nLa interfaz aporta motivo y evidencia; la propuesta, la política y el\nejecutor mantienen la historia, validan el destino y aplican el cambio.","operationId":"accionar_proceso_procesos_instancias__codigo_proceso__accion_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccionProcesoBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccionProcesoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-instancias/{codigo_proceso}/resolver-aprobacion":{"post":{"tags":["Procesos - Instancias"],"summary":"Resolver Aprobacion","description":"Aprueba o rechaza una `SOLICITUDES/APROBACION_ACCION` (F2 del motor de\ndecisiones). Cualquier ocupante vigente de la posición asignada puede\ndecidir; la primera decisión válida gana (spec \"actualización atómica\ncondicionada al estado PENDIENTE\"). Un segundo intento sobre una solicitud\nya resuelta devuelve 409 con la decisión que ya ganó.","operationId":"resolver_aprobacion_procesos_instancias__codigo_proceso__resolver_aprobacion_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolverAprobacionBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcesoInstanciaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-instancias/eliminar-bulk":{"post":{"tags":["Procesos - Instancias"],"summary":"Eliminar Bulk","description":"Elimina múltiples procesos. Acepta lista de códigos y/o rango de fecha_inicio.\n\nSe borra por criterio dentro de la BD (`fn_eliminar_procesos_por_criterio`, mig 1482)\ncon las mismas reglas que el borrado de uno (`_verificar_acceso`): grupo, entidad, tipo\nde acceso visible y subárbol de área. Lo que el usuario no ve no entra al conjunto.\nAntes se leía el rango por PostgREST (corte de 1.000) y se borraba esa lista, sin\nentidad, tipo de acceso ni área (PLAN_UNIVERSOS_EN_MEMORIA #11).","operationId":"eliminar_bulk_procesos_instancias_eliminar_bulk_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EliminarBulkRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EliminarBulkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/procesos-instancias/{codigo_proceso}/hijos":{"get":{"tags":["Procesos - Instancias"],"summary":"Listar Hijos","description":"Sub-procesos: instancias cuyo codigo_proceso_superior = este proceso.","operationId":"listar_hijos_procesos_instancias__codigo_proceso__hijos_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProcesoInstanciaResponse"},"title":"Response Listar Hijos Procesos Instancias  Codigo Proceso  Hijos Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-instancias/{codigo_proceso}/tareas":{"get":{"tags":["Procesos - Instancias"],"summary":"Listar Tareas Del Proceso","description":"Tareas delegadas por este proceso (puente tareas.codigo_proceso).","operationId":"listar_tareas_del_proceso_procesos_instancias__codigo_proceso__tareas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/procesos-instancias/{codigo_proceso}/detener":{"post":{"tags":["Procesos - Instancias"],"summary":"Detener Instancia","description":"Detiene un proceso: no hay ejecución en background que cancelar (el\nrunner corre síncrono dentro del request), así que \"detener\" actúa sobre\nlos REGISTROS — lo ya cerrado (CERRADO/CANCELADO) queda tal cual, y lo\nno-terminal (de este proceso y de sus hijos directos) se anula pasando al\nestado CANCELADO propio de cada tipo.","operationId":"detener_instancia_procesos_instancias__codigo_proceso__detener_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetenerProcesoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ejecuciones/estaciones/{codigo_estacion}/heartbeat":{"post":{"tags":["Procesos - Ejecución delegada"],"summary":"Heartbeat Estacion","operationId":"heartbeat_estacion_ejecuciones_estaciones__codigo_estacion__heartbeat_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_estacion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Estacion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeartbeatEstacion"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ejecuciones/estaciones/{codigo_estacion}/politica":{"get":{"tags":["Procesos - Ejecución delegada"],"summary":"Politica Estacion","description":"Política que el backend entregaría a esta estación, sin reclamar nada.\n\nEs el insumo del probe de aceptación (`estacion_ejecucion_local.py\nprobar-politica`): lee la política declarada de cada tipo que la estación\npuede tomar por su perfil. No toca intentos, lease ni latido.","operationId":"politica_estacion_ejecuciones_estaciones__codigo_estacion__politica_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_estacion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Estacion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ejecuciones/intentos/reclamar":{"post":{"tags":["Procesos - Ejecución delegada"],"summary":"Reclamar Intento","operationId":"reclamar_intento_ejecuciones_intentos_reclamar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReclamarIntento"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/ejecuciones/intentos/{codigo_proceso}/documentacion-funciones/contexto":{"post":{"tags":["Procesos - Ejecución delegada"],"summary":"Contexto Documentacion Funciones","description":"Entrega a una estación arrendada el contexto documental verificable.\n\nEste endpoint no invoca al LLM ni publica contenido. Solo arma el contrato\nde entrada desde el proceso, los catálogos y la configuración vigentes.","operationId":"contexto_documentacion_funciones_ejecuciones_intentos__codigo_proceso__documentacion_funciones_contexto_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContextoDocumentacionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ejecuciones/intentos/{codigo_proceso}/documentacion-funciones/recompilar-fichas":{"post":{"tags":["Procesos - Ejecución delegada"],"summary":"Recompilar Fichas Documentacion Funciones","description":"Recompila metadata stale sin invocar al LLM, bajo estación y lease.","operationId":"recompilar_fichas_documentacion_funciones_ejecuciones_intentos__codigo_proceso__documentacion_funciones_recompilar_fichas_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecompilarFichasDocumentacionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ejecuciones/intentos/{codigo_proceso}/documentacion-funciones/publicar-pagina":{"post":{"tags":["Procesos - Ejecución delegada"],"summary":"Publicar Pagina Documentacion Funciones","description":"Revalida lease/SHA y publica una página completa en una sola RPC.","operationId":"publicar_pagina_documentacion_funciones_ejecuciones_intentos__codigo_proceso__documentacion_funciones_publicar_pagina_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicarPaginaDocumentacionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ejecuciones/intentos/{codigo_proceso}/documentacion-funciones/registrar-fallo":{"post":{"tags":["Procesos - Ejecución delegada"],"summary":"Registrar Fallo Documentacion Funciones","description":"Persiste y contabiliza una invocación fallida sin duplicar reintentos.","operationId":"registrar_fallo_documentacion_funciones_ejecuciones_intentos__codigo_proceso__documentacion_funciones_registrar_fallo_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistrarFalloDocumentacionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ejecuciones/intentos/{codigo_proceso}/heartbeat":{"post":{"tags":["Procesos - Ejecución delegada"],"summary":"Heartbeat Intento","operationId":"heartbeat_intento_ejecuciones_intentos__codigo_proceso__heartbeat_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeartbeatIntento"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ejecuciones/intentos/{codigo_proceso}/resultado":{"post":{"tags":["Procesos - Ejecución delegada"],"summary":"Resultado Intento","operationId":"resultado_intento_ejecuciones_intentos__codigo_proceso__resultado_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultadoIntento"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ejecuciones/intentos/{codigo_proceso}/bloquear":{"post":{"tags":["Procesos - Ejecución delegada"],"summary":"Bloquear Intento","operationId":"bloquear_intento_ejecuciones_intentos__codigo_proceso__bloquear_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultadoIntento"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/inter-ambiente/solicitudes/emitir":{"post":{"tags":["Inter-ambiente"],"summary":"Emitir solicitud inter-ambiente","operationId":"emitir_solicitud_inter_ambiente_inter_ambiente_solicitudes_emitir_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolicitudInterAmbienteEmitir"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterAmbienteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/inter-ambiente/solicitudes":{"post":{"tags":["Inter-ambiente"],"summary":"Recibir solicitud inter-ambiente","operationId":"recibir_solicitud_inter_ambiente_inter_ambiente_solicitudes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolicitudInterAmbienteEntrante"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterAmbienteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/inter-ambiente/solicitudes/{codigo_correlacion}/eventos":{"post":{"tags":["Inter-ambiente"],"summary":"Recibir evento de solicitud inter-ambiente","operationId":"recibir_evento_inter_ambiente_inter_ambiente_solicitudes__codigo_correlacion__eventos_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_correlacion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Correlacion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventoInterAmbienteEntrante"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterAmbienteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/inter-ambiente/corregir-rls":{"post":{"tags":["Inter-ambiente"],"summary":"Corregir RLS en este ambiente a pedido de un peer","description":"Resolutor SOPORTE/RESOLVER_RLS de otro ambiente pide corregir aquí (mig 1415):\nborra tablas backup_* de public, activa RLS en las que no lo tienen y deja el\nproceso local con la evidencia. Solo para el usuario-servicio inter-ambiente.","operationId":"corregir_rls_inter_ambiente_inter_ambiente_corregir_rls_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorregirRlsEntrante"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Corregir Rls Inter Ambiente Inter Ambiente Corregir Rls Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/eval/correr-retrieval":{"post":{"tags":["Evaluación"],"summary":"Correr Retrieval","description":"Mide el Nivel R de la corrida y materializa el resultado en el árbol.\nEs **síncrona**: la mide `/eval/ejecutar-familia` inline y secuencial (en este\ndeployment de Railway ni `create_task` ni `BackgroundTasks` ejecutan la tarea\ndiferida). Re-disparar es idempotente. Headline = recall@5; precision@1,\nrecall@10 (= top_k de producción) y el desglose PASA/CASI/FALLA van en métricas secundarias.","operationId":"correr_retrieval_eval_correr_retrieval_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrerRetrievalRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Correr Retrieval Eval Correr Retrieval Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/eval/generar-casos":{"post":{"tags":["Evaluación"],"summary":"Generar Casos","description":"Genera el golden set (`eval_casos`) por **evaluación invertida** para el\ngrupo del contexto, corriendo la habilidad `EVAL-GENERAR-CASO` server-side.\n\nReusa la lógica de `scripts/eval_generar_casos.py`. Cada caso se inserta y\ncommitea individualmente, así que un timeout del request deja igual los casos\nya generados (se puede rellamar para acumular). Muestrea chunks\ninicio/medio/final de documentos VECTORIZADO del grupo.","operationId":"generar_casos_eval_generar_casos_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerarCasosRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Generar Casos Eval Generar Casos Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/eval/ejecutar-familia":{"post":{"tags":["Evaluación"],"summary":"Ejecutar Familia","description":"Corre la familia de tests de una categoría. Crea el proceso padre (nivel\ncategoría) y un hijo por tipo ejecutable, y mide el core de cada hijo\n**inline y secuencialmente**, devolviendo el resultado cuando termina.\n\nEl request es largo (~75s para TEST_RAG: retrieval ~13s ∥ generación ~74s);\nel botón de `/test` muestra spinner. Se hace inline (no FastAPI\nBackgroundTasks) porque las tareas de background NO se ejecutan de forma\nfiable en este deployment de Railway (verificado: la corrida quedaba vacía y\nsin error). El contexto (grupo/entidad) sale del usuario que lanza el test.","operationId":"ejecutar_familia_eval_ejecutar_familia_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EjecutarFamiliaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Ejecutar Familia Eval Ejecutar Familia Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/eval/correr-generacion":{"post":{"tags":["Evaluación"],"summary":"Correr Generacion","description":"Mide el Nivel G (generación) de la corrida. Síncrona (la invoca el\ndispatcher del runner, igual que correr-retrieval; el backgrounding vive en\n`ejecutar-familia`). Reusa RAG-GENERATOR + EVAL-JUEZ-FIDELIDAD.","operationId":"correr_generacion_eval_correr_generacion_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrerGeneracionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Correr Generacion Eval Correr Generacion Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/eval/finalizar":{"post":{"tags":["Evaluación"],"summary":"Finalizar Corrida","description":"Cierra una corrida C/Router/Sinónimos recomputando el headline desde los\n`EVAL_CASO` ya materializados. Red de seguridad ante cortes del runner.","operationId":"finalizar_corrida_eval_finalizar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrerSimpleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Finalizar Corrida Eval Finalizar Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/eval/correr-citas":{"post":{"tags":["Evaluación"],"summary":"Correr Citas","description":"Nivel C — precisión de citas. Headline = fracción de casos cuyo doc esperado\nquedó citado en la respuesta generada (RAG-GENERATOR sobre el contexto top-5).","operationId":"correr_citas_eval_correr_citas_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrerSimpleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Correr Citas Eval Correr Citas Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/eval/correr-router":{"post":{"tags":["Evaluación"],"summary":"Correr Router","description":"ROUTER_PRECISION — el RAG-ROUTER debe clasificar las preguntas factuales como\nDOCUMENTAL. Headline = precisión (aciertos/total).","operationId":"correr_router_eval_correr_router_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrerSimpleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Correr Router Eval Correr Router Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/eval/correr-sinonimos":{"post":{"tags":["Evaluación"],"summary":"Correr Sinonimos","description":"SINONIMOS_MULTIIDIOMA — robustez del retrieval: traducida la pregunta a otro\nidioma (en/pt/fr), el doc esperado debe seguir recuperándose. Headline = hits@5/total.","operationId":"correr_sinonimos_eval_correr_sinonimos_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrerSimpleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Correr Sinonimos Eval Correr Sinonimos Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/eval/correr-metadata":{"post":{"tags":["Evaluación"],"summary":"Correr Metadata","description":"Nivel M — metadata por oráculo SQL, SIN LLM. Headline = fracción de casos\ncuyo `oraculo_sql` re-ejecutado bajo los GUCs de la corrida sigue devolviendo\nla `respuesta_esperada` (snapshot tomado al generar el caso).","operationId":"correr_metadata_eval_correr_metadata_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrerSimpleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Correr Metadata Eval Correr Metadata Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/eval/correr-filter":{"post":{"tags":["Evaluación"],"summary":"Correr Filter","description":"EVAL_FILTER — compuerta de conjunto para tipo/nombre, sin LLM.\n\nCada caso compara el oráculo SQL completo contra el ejecutor canónico del\ncriterio estructurado, bajo el mismo usuario/RBAC. No sustituye EVAL_METADATA:\naquel sigue detectando drift de snapshots de conteo.","operationId":"correr_filter_eval_correr_filter_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrerSimpleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Correr Filter Eval Correr Filter Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/eval/correr-retrieval-agentico":{"post":{"tags":["Evaluación"],"summary":"Correr Retrieval Agentico","description":"RETRIEVAL_AGENTICO — corre la conversación agéntica contra el propio chat\n(loopback con el JWT del request) y materializa cada sugerencia seguida. Headline\n= tasa de cumplimiento (CUMPLIDA/total). El golden set NO aplica (es conversacional).","operationId":"correr_retrieval_agentico_eval_correr_retrieval_agentico_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrerSimpleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Correr Retrieval Agentico Eval Correr Retrieval Agentico Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/eval/diagnosticar":{"post":{"tags":["Evaluación"],"summary":"Diagnosticar Corrida","description":"Corre `EVAL-DIAGNOSTICAR-CORRIDA` sobre los casos que fallaron de la corrida\ny ANEXA la narrativa al comentario (bajo `MARCADOR_DIAG_LLM`, reemplazando un\ndiagnóstico previo si lo había). Sirve para R y G.","operationId":"diagnosticar_corrida_eval_diagnosticar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiagnosticarRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Diagnosticar Corrida Eval Diagnosticar Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/eval/compilar-corpus":{"post":{"tags":["Evaluación"],"summary":"Compilar Corpus","description":"Valida (o compila y persiste) una implementación N3 contra el corpus\nVIVO del grupo autenticado. El grupo del manifiesto jamás manda: si la\nimplementación pertenece a otro grupo, 403 sin listar ni un documento.","operationId":"compilar_corpus_eval_compilar_corpus_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompilarCorpusRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Compilar Corpus Eval Compilar Corpus Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/eval/correr-aislamiento":{"post":{"tags":["Evaluación"],"summary":"Correr Aislamiento","description":"Nivel AISLAMIENTO — compuerta de cero fugas, sin LLM. Headline = fracción de casos sin fuga;\nel contrato RET-AISLAMIENTO exige 1,0 (una fuga cierra el gate).","operationId":"correr_aislamiento_eval_correr_aislamiento_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorrerSimpleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Correr Aislamiento Eval Correr Aislamiento Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/notificaciones/pendientes":{"get":{"tags":["Notificaciones"],"summary":"Listar Pendientes","description":"Notificaciones GENERADAS (no vistas) del usuario, con cuerpo renderizado\n(traducido al locale + placeholders desde `datos`).","operationId":"listar_pendientes_notificaciones_pendientes_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"disparar","in":"query","required":false,"schema":{"type":"boolean","description":"Si true, dispara PRIMER_LOGIN antes de listar.","default":false,"title":"Disparar"},"description":"Si true, dispara PRIMER_LOGIN antes de listar."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notificaciones/{codigo_proceso}/visto":{"patch":{"tags":["Notificaciones"],"summary":"Marcar Visto","description":"Marca la notificación como VISTO (solo si pertenece al usuario).","operationId":"marcar_visto_notificaciones__codigo_proceso__visto_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_proceso","in":"path","required":true,"schema":{"type":"string","title":"Codigo Proceso"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/soporte/solicitudes":{"post":{"tags":["Soporte"],"summary":"Crear Solicitud de Soporte","description":"Crea una solicitud de soporte y la registra como proceso SOPORTE/SOPORTE.\n\nLa factory elige el destino real según `tipos_proceso.codigo_destino_externo`.\nHoy: solo local (asignada al rol SOPORTE en grupo ADMIN).","operationId":"crear_solicitud_soporte_soporte_solicitudes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolicitudSoporteCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolicitudSoporteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/soporte/incidente-login":{"post":{"tags":["Soporte"],"summary":"Registrar Incidente de Login (público)","description":"Registra una falla de autenticación como SOPORTE de SISTEMA.\n\nPÚBLICO a propósito: lo invoca la pantalla de callback OAuth cuando Supabase\ndevuelve `?error=...` y NO hay sesión (el login falló). Reusa\n`registrar_soporte_sistema` (proceso SOPORTE/'Solicitud de Soporte SISTEMA'\n+ outbox a Corp si el tipo tiene destino externo). Tolerante a fallos: si no\nse puede crear, devuelve `creado=false` sin romper la pantalla.\n\nAnónimo, así que se acota (H7): límite por IP, tope global diario (un\natacante con muchas IPs no inunda la cola de SOPORTE) y un mismo error del\nmismo correo con ticket abierto no abre otro.","operationId":"registrar_incidente_login_soporte_incidente_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidenteLoginCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidenteLoginResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sync/register":{"post":{"tags":["sync"],"summary":"Registrar Cliente","description":"Registra un cliente RAGfly en el cloud.\nSolo pueden registrar clientes del propio grupo del usuario.","operationId":"registrar_cliente_sync_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistrarClienteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/sync/ubicaciones":{"post":{"tags":["sync"],"summary":"Subir Ubicaciones","description":"Sube ubicaciones (directorios) del cliente local al cloud.\nHace upsert en ubicaciones_docs.","operationId":"subir_ubicaciones_sync_ubicaciones_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubirUbicacionesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/sync/documentos":{"post":{"tags":["sync"],"summary":"Subir Documentos","description":"Sube documentos + texto del cliente local al cloud.\n\nPara que el documento aparezca en el árbol de carpetas del frontend, el cliente\nDEBE enviar `codigo_ubicacion` (el código registrado previamente vía POST /sync/ubicaciones).\nEse valor se escribe directamente en `documentos.codigo_ubicacion` (mig 387: un documento\npertenece a una sola ubicación; el mismo archivo en dos lugares = dos documentos).\n\nSin `codigo_ubicacion` el documento se sube pero queda huérfano del árbol (solo visible\nen la vista plana de documentos, no en la vista por carpetas).\n\nRetorna {ok, procesados: [{codigo_documento, modificado}], errores}.","operationId":"subir_documentos_sync_documentos_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubirDocumentosRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/sync/resolver-identidad":{"post":{"tags":["sync"],"summary":"Resolver Identidad","description":"Resuelve, ANTES de que el cliente mintee un código, qué `codigo_documento`\nya tiene el Cloud para cada archivo (ruta exacta primero; hash único como\nfallback).\n\nEl Desktop llama esto en el escaneo: si el Cloud ya conoce el archivo (mismo\ncontenido subido antes — típico tras un reset del SQLite local, que hace que\nel contador local `_doc_secuencia` mintee códigos nuevos para archivos que ya\nexistían), el alta local NACE con el código del Cloud. Así nunca hay dos\nidentidades para el mismo archivo ni un rename posterior de 5 tablas para\nreconciliarlas (root cause corrida ianet 2026-07-19, ver\n[[project_sync_documentos_codigo_local]]).\n\nReutiliza EXACTAMENTE la misma resolución batch que `subir_documentos`\n(`_resolver_documento_existente` + búsqueda directa). Es read-only: no\nescribe nada. Retorna {ok, identidades: {ubicacion_documento: codigo}} solo\npara los que el Cloud ya conoce; los ausentes son archivos nuevos que el\ncliente mintea normalmente.","operationId":"resolver_identidad_sync_resolver_identidad_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolverIdentidadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/sync/paquete-codigos":{"post":{"tags":["sync"],"summary":"Paquete Codigos","description":"Reserva un tramo contiguo de números para los códigos `<grupo>-<n>`.\n\nDecisión del usuario (2026-09-22): el Cloud asigna los códigos en paquetes.\nEl Desktop pide uno, lo gasta y pide otro; ningún número se entrega dos\nveces y los que no se usan se pierden (los huecos se aceptan). El tamaño es\nLOTE_PROCESAMIENTO.TAMANO_PAQUETE, el mismo tamaño de lote del pipeline.\n\nLa secuencia `documentos_desktop_seq` (mig 1527) solo se avanza aquí y bajo\nadvisory lock, así que nextval + setval deja el tramo completo para quien lo\npidió. Si un Desktop viejo ya ocupó algún número del tramo con su contador\nlocal, se descarta el tramo y se reserva otro.\n\n`tipo` (default \"documento\") elige el correlativo: \"ubicacion\" reserva números del\n`seq_codigo_ubicacion` del Cloud para armar `<grupo>-<número>` (el Desktop viejo no lo manda).\n\nRetorna {ok, desde, hasta}.","operationId":"paquete_codigos_sync_paquete_codigos_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaqueteCodigosRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/sync/chunks":{"post":{"tags":["sync"],"summary":"Subir Chunks","description":"Sube chunks de texto del cliente local al Cloud.\n\nInserta en embeddings_chunks con embedding=NULL (el Cloud vectorizará\ndespués con su propio modelo vía el proceso VECTORIZAR).\nActualiza el estado del documento a CHUNKEADO.\n\nRetorna {ok, procesados, cloud_ids_procesados, errores, acepta_embedding_b64}.\n`acepta_embedding_b64` le dice al Desktop que desde el próximo envío puede\nmandar el vector en binario (ChunkSync.embedding_b64); un Cloud anterior no\nlo devuelve y el Desktop sigue con la lista de decimales.","operationId":"subir_chunks_sync_chunks_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubirChunksRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/sync/caracteristicas":{"post":{"tags":["sync"],"summary":"Subir Caracteristicas","description":"Sube las características extraídas por el ANALIZAR local (LOCAL_FULL).\n\nReemplaza (delete + insert) las características de cada documento: el cliente\nes autoritativo en LOCAL_FULL. Valida que cada (codigo_cat_docs, codigo_tipo_docs)\nexista en el catálogo del grupo para no violar FK. Retorna {ok, procesados, errores}.","operationId":"subir_caracteristicas_sync_caracteristicas_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubirCaracteristicasRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/sync/propuestas":{"post":{"tags":["sync"],"summary":"Subir Propuestas","description":"Sube propuestas de catálogo (PROPONER_TIPO_NUEVO del ANALIZAR local).\n\nDedup por (ambito, codigo_propuesto, codigo_grupo) WHERE estado=PENDIENTE:\nsi ya existe, suma frecuencia y mergea evidencia; si no, inserta. Espejo de\nla lógica de PROPONER_TIPO_NUEVO del Cloud. Retorna {ok, creadas, mergeadas}.","operationId":"subir_propuestas_sync_propuestas_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubirPropuestasRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/sync/documentos/eliminar":{"post":{"tags":["sync"],"summary":"Eliminar Documentos Sync","description":"Hard-delete cascada de documentos cuyo archivo ya no existe en el filesystem\ndel RAGfly Desktop. Llamado por el cliente tras detectar archivos faltantes en su\nbarrido (`pipeline.ejecutar_escaneo`).\n\nSolo elimina documentos del grupo del usuario. La purga corre dentro de\n`fn_purgar_documentos` (mig 1243): UNA transacción que se apoya en las FKs\nON DELETE CASCADE del esquema y deja auditoría por documento.\n\nAntes la cascada se escribía acá a mano, en tres DELETE por REST — tres\nrequests independientes, sin transacción: si el segundo fallaba, el primero\nYA se había aplicado y el documento quedaba a medio purgar (sin cola pero\nvivo, o con embeddings colgando), el endpoint devolvía 500 y el Desktop\nreintentaba la misma página sobre ese estado inconsistente. Además el\ncomentario que la justificaba (\"cola_estados_docs y embeddings_chunks no son\nCASCADE\") estaba desactualizado: verificado contra el esquema, las seis FKs\nque apuntan a `documentos` son CASCADE, y la cascada manual omitía las de\nreproceso.\n\nRetorna {ok, eliminados: [cloud_ids realmente borrados], no_encontrados: [...]}.","operationId":"eliminar_documentos_sync_sync_documentos_eliminar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EliminarDocumentosRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/sync/documentos/mover":{"post":{"tags":["sync"],"summary":"Mover Documentos Sync","description":"Actualiza la ruta (`ubicacion_documento`), `codigo_ubicacion` y opcionalmente\n`nombre_documento` de documentos cuyo archivo fue movido/renombrado en el\nfilesystem del RAGfly Desktop. Disponible para integraciones o barridos que\nnecesiten actualizar solo metadata; el watcher actual deja la modificación\npendiente en su SQLite y la entrega por el ciclo general de sincronización.\n\nNo re-procesa el documento — solo actualiza metadata.\nRetorna {ok, movidos, no_encontrados}.","operationId":"mover_documentos_sync_sync_documentos_mover_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoverDocumentosRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/sync/catalogos-pipeline/{codigo_grupo}":{"get":{"tags":["sync"],"summary":"Obtener Catalogos Pipeline","description":"Pull de los catálogos del pipeline en una sola request.\n\nEl cliente RAGfly (PySide6) llama este endpoint al login para\npoblar su SQLite local mínimo (ver cliente/PLAN.md §5).\n\nCatálogos retornados:\n  - tipos_proceso     pasos del pipeline (CARGADO, METADATA, ESCANEADO, …)\n  - estados_docs      catálogo de estados de documento (desde estados_procesos)\n  - registro_llm      modelos LLM disponibles (embeddings + chat)\n\nSync incremental: pasar `?desde=<ISO_timestamp>` para traer solo las\nfilas con `updated_at > desde`. Si se omite, retorna todo.\n\nEstas tablas son globales (no por grupo), pero validamos que el\nusuario tenga acceso al grupo solicitado por consistencia con\n`/sync/config/{codigo_grupo}`.","operationId":"obtener_catalogos_pipeline_sync_catalogos_pipeline__codigo_grupo__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_grupo","in":"path","required":true,"schema":{"type":"string","title":"Codigo Grupo"}},{"name":"desde","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Desde"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sync/config/{codigo_grupo}":{"get":{"tags":["sync"],"summary":"Obtener Config Sync","description":"Retorna la configuración de sync para un grupo.\nEl cliente la descarga para sincronizar sus parámetros.","operationId":"obtener_config_sync_sync_config__codigo_grupo__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_grupo","in":"path","required":true,"schema":{"type":"string","title":"Codigo Grupo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/traducciones/locales":{"get":{"tags":["Traducciones"],"summary":"Listar Locales","description":"Lista idiomas soportados.\n\nDisponible para TODO usuario autenticado: el selector de idioma del Header lo\nconsume en cada página (traduccionesApi.listarLocalesActivos). El guard\n`_solo_admin` solo aplica a las mutaciones (POST/PATCH/DELETE); ponerlo aquí\ndevolvía 403 a cualquier usuario no-admin y rompía el selector de idioma.","operationId":"listar_locales_traducciones_locales_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Traducciones"],"summary":"Crear Locale","description":"Registra un nuevo idioma soportado.","operationId":"crear_locale_traducciones_locales_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocaleCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/traducciones/locales/{codigo}":{"patch":{"tags":["Traducciones"],"summary":"Actualizar Locale","description":"Actualiza un idioma (activar/desactivar, cambiar orden, etc.).","operationId":"actualizar_locale_traducciones_locales__codigo__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocaleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Traducciones"],"summary":"Eliminar Locale","description":"Elimina un idioma (solo si no tiene traducciones generadas).","operationId":"eliminar_locale_traducciones_locales__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/traducciones/estado":{"get":{"tags":["Traducciones"],"summary":"Estado Traducciones","description":"Estado completo del sistema de traducciones. Solo super-admin.","operationId":"estado_traducciones_traducciones_estado_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/traducciones/generar":{"post":{"tags":["Traducciones"],"summary":"Generar Bd","description":"Inicia generación de traducciones de BD en background. Devuelve 202 inmediato.\nEl progreso se puede consultar con GET /traducciones/estado (campo generando + progreso).\nSolo super-admin.","operationId":"generar_bd_traducciones_generar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerarBDRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/traducciones/generar-todo":{"post":{"tags":["Traducciones"],"summary":"Generar Todo","description":"Encola una regeneración durable para la APP actualmente activa.","operationId":"generar_todo_traducciones_generar_todo_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerarTodoRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/traducciones/mensajes-ui-pendientes":{"get":{"tags":["Traducciones"],"summary":"Mensajes Ui Pendientes","description":"Devuelve los `messages/<locale>.json` generados que aún no se aplicaron\nal repo `ragfly-frontend`. Lo consume el skill `/traducciones-aplicar`.\n\nFilas con `aplicado_en_repo IS NULL` = pendientes.","operationId":"mensajes_ui_pendientes_traducciones_mensajes_ui_pendientes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/traducciones/mensajes-ui-marcar-aplicados":{"post":{"tags":["Traducciones"],"summary":"Mensajes Ui Marcar Aplicados","description":"Marca los locales indicados como aplicados al repo (commit+push hecho).\nLo invoca el skill `/traducciones-aplicar` tras commitear.","operationId":"mensajes_ui_marcar_aplicados_traducciones_mensajes_ui_marcar_aplicados_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarcarAplicadosRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/traducciones/cancelar":{"post":{"tags":["Traducciones"],"summary":"Cancelar Generacion","description":"Detiene una generación durable o inmediata y habilita el reintento.","operationId":"cancelar_generacion_traducciones_cancelar_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/traducciones/registro":{"post":{"tags":["Traducciones"],"summary":"Generar Registro","description":"Traduce todos los campos lógicos de un único registro a los idiomas destino. Solo super-admin.","operationId":"generar_registro_traducciones_registro_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerarRegistroRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/traducciones/generar-mensajes":{"post":{"tags":["Traducciones"],"summary":"Generar Mensajes","description":"Traduce un archivo de mensajes JSON a múltiples idiomas. Solo super-admin.","operationId":"generar_mensajes_traducciones_generar_mensajes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerarMensajesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/traducciones/regenerar-glosario":{"post":{"tags":["Traducciones"],"summary":"Regenerar Glosario","description":"Genera el archivo Glosario.md desde RAGfly.md usando el LLM\nconfigurado en la función TRADUCCIONES. Solo super-admin.\n\nVer .claude/docs/PLAN_I18N.md sección 3.3.","operationId":"regenerar_glosario_traducciones_regenerar_glosario_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/traducciones/glosario":{"get":{"tags":["Traducciones"],"summary":"Obtener Glosario Actual","description":"Retorna el contenido actual de Glosario.md (si existe) y metadata.","operationId":"obtener_glosario_actual_traducciones_glosario_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/traducciones/tablas-traducibles":{"get":{"tags":["Traducciones"],"summary":"Get Tablas Traducibles","description":"Lista la config de tablas traducibles con sus campos. Solo super-admin.","operationId":"get_tablas_traducibles_traducciones_tablas_traducibles_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/traducciones/tablas-traducibles/{nombre_tabla}":{"patch":{"tags":["Traducciones"],"summary":"Patch Tabla Traducible","description":"Actualiza flags de una tabla traducible. Solo super-admin.","operationId":"patch_tabla_traducible_traducciones_tablas_traducibles__nombre_tabla__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"nombre_tabla","in":"path","required":true,"schema":{"type":"string","title":"Nombre Tabla"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TablaTraducibleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/traducciones/tablas-traducibles/{nombre_tabla}/campos":{"put":{"tags":["Traducciones"],"summary":"Put Campos Tabla Traducible","description":"Reemplaza el set completo de campos traducibles de una tabla. Solo super-admin.","operationId":"put_campos_tabla_traducible_traducciones_tablas_traducibles__nombre_tabla__campos_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"nombre_tabla","in":"path","required":true,"schema":{"type":"string","title":"Nombre Tabla"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CamposTraduciblesUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/espacios-trabajo/paginado":{"get":{"tags":["Espacios de Trabajo"],"summary":"Listar Espacios Paginado","description":"Lista los workspaces visibles para el usuario en el grupo activo.\n\nAplica la regla de visibilidad 1:1 (USUARIO/AREA/ENTIDAD).\nFiltros: `q` (ILIKE en nombre_espacio).","operationId":"listar_espacios_paginado_espacios_trabajo_paginado_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EspaciosTrabajoPaginados"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/espacios-trabajo":{"post":{"tags":["Espacios de Trabajo"],"summary":"Crear Espacio","description":"Crea un workspace + cache opcional con la lista del filtro actual.\n\nValidaciones:\n  - tipo_espacio ∈ {AREA, ESPACIO}\n  - alcance ∈ {USUARIO, AREA, ENTIDAD}\n  - alcance=AREA ⇒ codigo_area requerido","operationId":"crear_espacio_espacios_trabajo_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EspacioTrabajoCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EspacioTrabajoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/espacios-trabajo/componer":{"post":{"tags":["Espacios de Trabajo"],"summary":"Componer Espacios","description":"Compone dos espacios por álgebra de conjuntos → nuevo espacio (handle).\n\noperacion ∈ {union, interseccion, diferencia, diferencia_simetrica}.\n`diferencia` es A∖B (orden significativo: A = id_espacio_a).\nMiembro = doc del espacio cuyo estado NO es CANCELADO (activos + CERRADO).\n\nSeguridad (doble candado): el usuario debe poder VER ambos espacios (RBAC,\n`_verificar_visibilidad`) y la función SQL rechaza componer cross-grupo.\nEl resultado nace AREA temporal salvo que se pida tipo_espacio=ESPACIO.","operationId":"componer_espacios_espacios_trabajo_componer_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EspacioComponerRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComposicionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/espacios-trabajo/{id_espacio}":{"put":{"tags":["Espacios de Trabajo"],"summary":"Actualizar Espacio","description":"Renombra, cambia tipo o fecha_termino. Solo creador (decisión 6c).","operationId":"actualizar_espacio_espacios_trabajo__id_espacio__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_espacio","in":"path","required":true,"schema":{"type":"integer","title":"Id Espacio"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EspacioTrabajoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EspacioTrabajoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Espacios de Trabajo"],"summary":"Eliminar Espacio","description":"Hard delete del espacio + CASCADE en `cola_estados_docs.id_espacio`. Solo creador.","operationId":"eliminar_espacio_espacios_trabajo__id_espacio__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_espacio","in":"path","required":true,"schema":{"type":"integer","title":"Id Espacio"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/espacios-trabajo/{id_espacio}/criterio":{"put":{"tags":["Espacios de Trabajo"],"summary":"Actualizar Criterio","description":"Edita el `criterio_texto` (prompt). Cualquiera del alcance puede.\n\nPara que el cambio se refleje en la lista, el usuario debe pulsar Refrescar.","operationId":"actualizar_criterio_espacios_trabajo__id_espacio__criterio_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_espacio","in":"path","required":true,"schema":{"type":"integer","title":"Id Espacio"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EspacioCriterioUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EspacioTrabajoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/espacios-trabajo/{id_espacio}/refrescar":{"post":{"tags":["Espacios de Trabajo"],"summary":"Refrescar Espacio","description":"Re-aplica el `criterio_texto` y reescribe la cola del espacio.\n\nImplementación mínima por ahora: si el espacio tiene `criterio_texto`,\nbusca, entre los documentos que quien refresca ve (grupo + entidad + área),\nlos cuyo `nombre_documento` contenga el criterio (ILIKE). El refresco semántico con\nembeddings se incorporará en una iteración posterior.\n\nMecánica: borra las filas de cola previas del espacio (categoria/tipo\nESPACIOS_TRABAJO) y reinserta una fila por doc encontrado con\nestado_destino='ABIERTO', estado_cola='COMPLETADO'.\n\nCualquiera del alcance puede refrescar.","operationId":"refrescar_espacio_espacios_trabajo__id_espacio__refrescar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_espacio","in":"path","required":true,"schema":{"type":"integer","title":"Id Espacio"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefrescoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/espacios-trabajo/{id_espacio}/promover":{"post":{"tags":["Espacios de Trabajo"],"summary":"Promover Espacio","description":"Convierte un AREA temporal en ESPACIO permanente.\n\nEl trigger `trg_fecha_termino_area` limpia `fecha_termino` automáticamente\nal detectar el cambio de tipo.\nSolo creador (decisión 6c).","operationId":"promover_espacio_espacios_trabajo__id_espacio__promover_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_espacio","in":"path","required":true,"schema":{"type":"integer","title":"Id Espacio"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromocionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/espacios-trabajo/{id_espacio}/documentos/paginado":{"get":{"tags":["Espacios de Trabajo"],"summary":"Listar Documentos Espacio","description":"Lista los documentos en la cola del espacio (filas activas de cola_estados_docs).\n\nAlias retro-compat de la resolución `manifiesto` de `GET /{id}/contenido`\n(mantiene la UI del tab Espacios sin cambios). Si `estado_area` viene, filtra\npor ese estado destino; por defecto trae todos los estados.","operationId":"listar_documentos_espacio_espacios_trabajo__id_espacio__documentos_paginado_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_espacio","in":"path","required":true,"schema":{"type":"integer","title":"Id Espacio"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"estado_area","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Area"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentosEspacioPaginados"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/espacios-trabajo/{id_espacio}/contenido":{"get":{"tags":["Espacios de Trabajo"],"summary":"Leer Contenido Espacio","description":"Primitiva LEER: materializa el Espacio a la resolución que el agente pida\ny pueda costear, paginado.\n\n- `contar`:     {total} = nº de documentos miembros (costo nulo).\n- `manifiesto`: docs + metadata (default; reusa el manifiesto existente).\n- `chunks`:     RAG DENTRO del espacio — top-k chunks de los docs del espacio\n                re-rankeados por `q` (requiere `q`). Acota la búsqueda al set\n                vía `id_espacio_filtro`.\n- `texto`:      chunks crudos ordenados (id_origen, nro_chunk) — el texto\n                completo no está poblado en el corpus, se ensambla desde los\n                chunks. limit bajo + tope duro (decisión §6.d).","operationId":"leer_contenido_espacio_espacios_trabajo__id_espacio__contenido_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_espacio","in":"path","required":true,"schema":{"type":"integer","title":"Id Espacio"}},{"name":"resolucion","in":"query","required":false,"schema":{"type":"string","default":"manifiesto","title":"Resolucion"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"estado_area","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Area"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContenidoEspacioResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/espacios-trabajo/{id_espacio}/reaplicar":{"post":{"tags":["Espacios de Trabajo"],"summary":"Reaplicar Habilidad Espacio","description":"Re-encola los docs del espacio con su habilidad original (CERRADO/CANCELADO → PENDIENTE).\n\nSolo funciona si el espacio tiene filas con `codigo_habilidad`. Reencolando\nlas filas en COMPLETADO/CERRADO/ERROR/CANCELADO que tienen habilidad.","operationId":"reaplicar_habilidad_espacio_espacios_trabajo__id_espacio__reaplicar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_espacio","in":"path","required":true,"schema":{"type":"integer","title":"Id Espacio"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReeplicarResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/espacios-trabajo/{id_espacio}/compilar":{"post":{"tags":["Espacios de Trabajo"],"summary":"Compilar Espacio","description":"Compila el espacio: invoca la primitiva REDUCIR_ESPACIO (ARQ-15, verbo\nREDUCIR) con la habilidad hoja indicada (CONSOLIDAR_BATCH para consolidados,\nCOMPILAR_PAGINA para páginas compiladas). Fachada delgada sobre\n`invocar_capability`: mismo camino que chat/MCP/CLI, el proceso de\ninvocación nace ahí y la pasada del worker se lanza sola (espacios_worker).\nDevuelve el SobreEjecucion; el avance se sigue por la pantalla de procesos.","operationId":"compilar_espacio_espacios_trabajo__id_espacio__compilar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_espacio","in":"path","required":true,"schema":{"type":"integer","title":"Id Espacio"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompilarEspacioRequest","default":{"codigo_habilidad_hoja":"CONSOLIDAR_BATCH"}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/prompts/tablas":{"get":{"tags":["Prompts"],"summary":"Listar Tablas Configurables","description":"Lista de tablas que participan del sistema de prompts.","operationId":"listar_tablas_configurables_prompts_tablas_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/prompts/estado":{"get":{"tags":["Prompts"],"summary":"Estado General","description":"Retorna el estado general de la sincronización (contador de pendientes por tabla).","operationId":"estado_general_prompts_estado_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/prompts/compilar":{"post":{"tags":["Prompts"],"summary":"Compilar Endpoint","description":"Compila el prompt de una fila a python y/o javascript.\n\nRespeta las flags `python_editado_manual` / `javascript_editado_manual`\nsalvo que se pase `forzar=true`.","operationId":"compilar_endpoint_prompts_compilar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompilarRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompilarResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/prompts/sincronizar/fila":{"post":{"tags":["Prompts"],"summary":"Sincronizar Fila Endpoint","operationId":"sincronizar_fila_endpoint_prompts_sincronizar_fila_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SincronizarFilaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/prompts/sincronizar/funciones":{"post":{"tags":["Prompts"],"summary":"Sincronizar Funciones Endpoint","description":"Regenera funciones.md masivo en background (mig 307+, modo delta-only).\n\nRecorre `funciones`, identifica las que tienen\n`fecha_ultimo_cambio_prompt > fecha_ultima_sincronizacion` (o todas si\n`solo_cambiadas=False`) e invoca el endpoint generar-md de cada una.\n\nNo vectoriza nada — solo regenera el campo `funciones.md` para que el\nchat lo sirva via tool `leer_md`. Idoneo para cron 3 AM diario.\n\nSolo super-admin.","operationId":"sincronizar_funciones_endpoint_prompts_sincronizar_funciones_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"solo_cambiadas","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Solo Cambiadas"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/prompts/sincronizar/tabla":{"post":{"tags":["Prompts"],"summary":"Sincronizar Tabla Endpoint","operationId":"sincronizar_tabla_endpoint_prompts_sincronizar_tabla_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SincronizarTablaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/prompts/sincronizar/todas":{"post":{"tags":["Prompts"],"summary":"Sincronizar Todas Endpoint","operationId":"sincronizar_todas_endpoint_prompts_sincronizar_todas_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SincronizarTodasRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/prompts/apis/regenerar":{"post":{"tags":["Prompts"],"summary":"Regenerar Apis","operationId":"regenerar_apis_prompts_apis_regenerar_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/prompts/fila":{"get":{"tags":["Prompts"],"summary":"Obtener Fila","description":"Lee los campos de contexto (descripcion, prompt, system_prompt, python, js) de un registro.","operationId":"obtener_fila_prompts_fila_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tabla","in":"query","required":true,"schema":{"type":"string","title":"Tabla"}},{"name":"pk_columna","in":"query","required":true,"schema":{"type":"string","title":"Pk Columna"}},{"name":"pk_valor","in":"query","required":true,"schema":{"type":"string","title":"Pk Valor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Prompts"],"summary":"Patch Fila","description":"Guarda campos de contexto (descripcion, prompt, system_prompt, python, js) en un registro.","operationId":"patch_fila_prompts_fila_patch","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchFilaRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/planes":{"get":{"tags":["Planes"],"summary":"Listar","operationId":"listar_planes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PlanResponse"},"type":"array","title":"Response Listar Planes Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Planes"],"summary":"Crear","operationId":"crear_planes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/planes/{codigo_plan}":{"put":{"tags":["Planes"],"summary":"Actualizar","operationId":"actualizar_planes__codigo_plan__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_plan","in":"path","required":true,"schema":{"type":"string","title":"Codigo Plan"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Planes"],"summary":"Eliminar","operationId":"eliminar_planes__codigo_plan__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_plan","in":"path","required":true,"schema":{"type":"string","title":"Codigo Plan"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/planes/{codigo_plan}/generar-md":{"post":{"tags":["Planes"],"summary":"Generar Md Plan","operationId":"generar_md_plan_planes__codigo_plan__generar_md_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_plan","in":"path","required":true,"schema":{"type":"string","title":"Codigo Plan"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/planes/{codigo_plan}/funciones":{"get":{"tags":["Planes"],"summary":"Funciones De Plan","operationId":"funciones_de_plan_planes__codigo_plan__funciones_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_plan","in":"path","required":true,"schema":{"type":"string","title":"Codigo Plan"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FuncionPlan"},"title":"Response Funciones De Plan Planes  Codigo Plan  Funciones Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Planes"],"summary":"Asignar Funcion A Plan","operationId":"asignar_funcion_a_plan_planes__codigo_plan__funciones_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_plan","in":"path","required":true,"schema":{"type":"string","title":"Codigo Plan"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsignarFuncionPlan"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/planes/{codigo_plan}/funciones/{codigo_funcion}":{"delete":{"tags":["Planes"],"summary":"Quitar Funcion De Plan","operationId":"quitar_funcion_de_plan_planes__codigo_plan__funciones__codigo_funcion__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_plan","in":"path","required":true,"schema":{"type":"string","title":"Codigo Plan"}},{"name":"codigo_funcion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Funcion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/planes/consumo/{codigo_grupo}":{"get":{"tags":["Planes"],"summary":"Consumo Grupo","description":"Consumo (vs cupo) por característica CUPO del grupo, en el ciclo vigente.\n\nDevuelve por cupo: incluido (del plan), consumido total del grupo, y desglose\npor entidad. Super-admin ve cualquier grupo; otros solo el suyo.","operationId":"consumo_grupo_planes_consumo__codigo_grupo__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_grupo","in":"path","required":true,"schema":{"type":"string","title":"Codigo Grupo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/planes/mi-plan/caracteristicas":{"get":{"tags":["Planes"],"summary":"Mi Plan Caracteristicas","description":"Características del plan del grupo activo + flag 'incluido'/cantidad.\n\nPensado para que el frontend sepa qué acciones gatear (ej. CONTROL_AREA).\nNo requiere admin: cada usuario consulta el plan de su propio grupo.","operationId":"mi_plan_caracteristicas_planes_mi_plan_caracteristicas_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/planes/caracteristicas/catalogo":{"get":{"tags":["Planes"],"summary":"Listar Caracteristicas","operationId":"listar_caracteristicas_planes_caracteristicas_catalogo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CaracteristicaBase"},"type":"array","title":"Response Listar Caracteristicas Planes Caracteristicas Catalogo Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Planes"],"summary":"Crear Caracteristica","operationId":"crear_caracteristica_planes_caracteristicas_catalogo_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaracteristicaBase"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaracteristicaBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/planes/caracteristicas/catalogo/reordenar":{"put":{"tags":["Planes"],"summary":"Reordenar Caracteristicas","operationId":"reordenar_caracteristicas_planes_caracteristicas_catalogo_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OrdenCaracteristica"},"type":"array","title":"Items"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/planes/caracteristicas/catalogo/{codigo}":{"put":{"tags":["Planes"],"summary":"Actualizar Caracteristica","operationId":"actualizar_caracteristica_planes_caracteristicas_catalogo__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaracteristicaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaracteristicaBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Planes"],"summary":"Eliminar Caracteristica","operationId":"eliminar_caracteristica_planes_caracteristicas_catalogo__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/planes/{codigo_plan}/caracteristicas":{"get":{"tags":["Planes"],"summary":"Caracteristicas De Plan","operationId":"caracteristicas_de_plan_planes__codigo_plan__caracteristicas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_plan","in":"path","required":true,"schema":{"type":"string","title":"Codigo Plan"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CaracteristicaPlan"},"title":"Response Caracteristicas De Plan Planes  Codigo Plan  Caracteristicas Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/planes/{codigo_plan}/caracteristicas/{codigo_caracteristica}":{"put":{"tags":["Planes"],"summary":"Upsert Caracteristica Plan","operationId":"upsert_caracteristica_plan_planes__codigo_plan__caracteristicas__codigo_caracteristica__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_plan","in":"path","required":true,"schema":{"type":"string","title":"Codigo Plan"}},{"name":"codigo_caracteristica","in":"path","required":true,"schema":{"type":"string","title":"Codigo Caracteristica"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaracteristicaPlan"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaracteristicaPlan"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/planes/caracteristicas/catalogo/{codigo}/funciones":{"get":{"tags":["Planes"],"summary":"Funciones De Caracteristica","operationId":"funciones_de_caracteristica_planes_caracteristicas_catalogo__codigo__funciones_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FuncionCaracteristica"},"title":"Response Funciones De Caracteristica Planes Caracteristicas Catalogo  Codigo  Funciones Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Planes"],"summary":"Asignar Funcion A Caracteristica","operationId":"asignar_funcion_a_caracteristica_planes_caracteristicas_catalogo__codigo__funciones_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsignarFuncionCaracteristica"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/planes/caracteristicas/catalogo/{codigo}/funciones/{codigo_funcion}":{"delete":{"tags":["Planes"],"summary":"Quitar Funcion De Caracteristica","operationId":"quitar_funcion_de_caracteristica_planes_caracteristicas_catalogo__codigo__funciones__codigo_funcion__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}},{"name":"codigo_funcion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Funcion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/jerarquias/grafos":{"get":{"tags":["Jerarquías"],"summary":"Listar Grafos","description":"Lista las jerarquías con grafo, sus stats actuales (pares, max profundidad).","operationId":"listar_grafos_jerarquias_grafos_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/jerarquias/grafos/{tabla}/refrescar":{"post":{"tags":["Jerarquías"],"summary":"Refrescar Grafo","description":"Ejecuta el refresco completo del grafo (TRUNCATE + reinsert desde la tabla origen).","operationId":"refrescar_grafo_jerarquias_grafos__tabla__refrescar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tabla","in":"path","required":true,"schema":{"type":"string","title":"Tabla"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/jerarquias/grafos/refrescar-todos":{"post":{"tags":["Jerarquías"],"summary":"Refrescar Todos","description":"Refresca todos los grafos en una sola llamada (para el botón 'Refrescar todo').","operationId":"refrescar_todos_jerarquias_grafos_refrescar_todos_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/tipos-acceso":{"get":{"tags":["Tipos de Acceso"],"summary":"Listar Tipos Acceso","operationId":"listar_tipos_acceso_tipos_acceso_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TipoAccesoResponse"},"type":"array","title":"Response Listar Tipos Acceso Tipos Acceso Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Tipos de Acceso"],"summary":"Crear Tipo Acceso","operationId":"crear_tipo_acceso_tipos_acceso_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoAccesoCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoAccesoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/tipos-acceso/grafo":{"get":{"tags":["Tipos de Acceso"],"summary":"Listar Grafo Tipo Acceso","operationId":"listar_grafo_tipo_acceso_tipos_acceso_grafo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response Listar Grafo Tipo Acceso Tipos Acceso Grafo Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/tipos-acceso/{codigo}":{"put":{"tags":["Tipos de Acceso"],"summary":"Actualizar Tipo Acceso","operationId":"actualizar_tipo_acceso_tipos_acceso__codigo__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoAccesoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TipoAccesoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tipos de Acceso"],"summary":"Eliminar Tipo Acceso","operationId":"eliminar_tipo_acceso_tipos_acceso__codigo__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string","title":"Codigo"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/limpieza":{"get":{"tags":["Limpieza"],"summary":"Listar Politicas","operationId":"listar_politicas_limpieza_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PoliticaLimpieza"},"type":"array","title":"Response Listar Politicas Limpieza Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/limpieza/{codigo_tabla}":{"put":{"tags":["Limpieza"],"summary":"Actualizar Politica","operationId":"actualizar_politica_limpieza__codigo_tabla__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_tabla","in":"path","required":true,"schema":{"type":"string","title":"Codigo Tabla"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PoliticaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PoliticaLimpieza"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/limpieza/ejecutar":{"post":{"tags":["Limpieza"],"summary":"Ejecutar Limpieza","operationId":"ejecutar_limpieza_limpieza_ejecutar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EjecutarLimpiezaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultadoLimpieza"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/limpieza/ejecutar-todas":{"post":{"tags":["Limpieza"],"summary":"Ejecutar Todas","operationId":"ejecutar_todas_limpieza_ejecutar_todas_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ResultadoLimpieza"},"type":"array","title":"Response Ejecutar Todas Limpieza Ejecutar Todas Post"}}}}},"security":[{"HTTPBearer":[]}]}},"/utils/explicar-error":{"post":{"tags":["utils"],"summary":"Explicar Error","description":"Recibe un error PostgreSQL + el endpoint que lo disparó y lo diagnostica\ncon LLM + tool calling sobre el schema de la BD.\n\nRetorna: categoría (dato_usuario | configuracion | bug), mensaje amigable,\nsugerencia accionable y el mensaje técnico original.","operationId":"explicar_error_utils_explicar_error_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplicarErrorRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplicarErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/operaciones/validar-cuotas":{"post":{"tags":["operaciones"],"summary":"Validar Cuotas","description":"Sondea los proveedores LLM cableados y reporta su estado de cuota/saldo/key.\n\nPara cada proveedor NO_CREDIT o INVALID_KEY abre (con dedup) una solicitud de\nSOPORTE de SISTEMA. Imputa el contexto del usuario que dispara.","operationId":"validar_cuotas_operaciones_validar_cuotas_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ValidarCuotasRequest"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/vigilar-estaciones":{"post":{"tags":["operaciones"],"summary":"Vigilar Estaciones Operacion","description":"Revisa las estaciones de ejecución y alarma por las caídas o con error.\n\nEl estado sale de `v_estaciones_ejecucion` (que ya compara `ultimo_heartbeat`\ncontra el `umbral_offline_min` de cada estación). Abre, con dedup, una\nsolicitud de SOPORTE de SISTEMA por estación+motivo, y manda un correo con lo\nque apareció en la pasada. Invocado desde OPERACION/VIGILAR_ESTACIONES (cron).","operationId":"vigilar_estaciones_operacion_operaciones_vigilar_estaciones_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/VigilarEstacionesRequest"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/sanidad-onboarding":{"post":{"tags":["operaciones"],"summary":"Sanidad Onboarding","description":"Recorre el camino completo de un cliente nuevo y borra todo lo que creó.\n\nAlta → invitación → login → contexto → consentimiento → carga → vectorización\n→ búsqueda por `/v1` → pregunta al chat con verificación del testigo. Abre una\nsolicitud de SOPORTE por el paso que se corte (con dedup mientras el ticket\nsiga abierto) y cierra su corrida con el recorrido paso a paso.\n\nInvocado desde OPERACION/SANIDAD_ONBOARDING (cron semanal). A diferencia de las\nsondas hermanas —que miran estado— esta EJERCE el producto: es la única que se\nentera de un 428 de consentimiento o de una pantalla en el idioma equivocado,\nque es lo que dejó a un cliente real de PROD sin cargar un solo documento.","operationId":"sanidad_onboarding_operaciones_sanidad_onboarding_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/SanidadOnboardingRequest"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/limpiar":{"post":{"tags":["operaciones"],"summary":"Limpiar","description":"Borra filas antiguas de la tabla del tipo de limpieza según su dias_retencion.\n\nInvocado desde los procesos LIMPIAR_* (categoría LIMPIEZA) vía el runner. El tipo\n(auditoría / uso LLM / cola docs) se resuelve desde el propio proceso; la retención\nse lee de tipos_proceso. Cierra el proceso a HECHO con el conteo de filas borradas.","operationId":"limpiar_operaciones_limpiar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimpiarRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/retry-huerfanos-cola":{"post":{"tags":["operaciones"],"summary":"Retry Huerfanos Cola","description":"Detecta filas EN_PROCESO huérfanas (>5 min) en cola_estados_docs, las\nlibera y relanza el procesador de cada (grupo, estado_destino) afectado.\n\nInvocado desde PROCESAR_DOCS/RETRY_HUERFANOS_COLA (cron cada 10 min) vía\nel runner. Cierra el hueco de fn_liberar_huerfanos_cola: esa función solo\ncorre al inicio de una pasada, así que si la pasada que se cuelga es la\núltima, nadie más la vuelve a lanzar sin este retry.","operationId":"retry_huerfanos_cola_operaciones_retry_huerfanos_cola_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetryHuerfanosRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/procesar-lote-auto":{"post":{"tags":["operaciones"],"summary":"Procesar Lote Auto","description":"Driver server-side del pipeline: corre el lote backend-only\n(ANALIZAR→CHUNKEAR→VECTORIZAR) para TODOS los grupos con trabajo pendiente,\nsin el navegador (motor único P4 ítem a, activación del watcher).\n\nLo invoca el runner desde PROCESAR_DOCS/LOTE_AUTO (cron). El contexto real\n(qué grupos) lo resuelve el helper por la cola, no la sesión: es una\noperación de sistema (como retry-huerfanos / validar-cuotas).","operationId":"procesar_lote_auto_operaciones_procesar_lote_auto_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoteAutoRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/revisar-fuentes-web":{"post":{"tags":["operaciones"],"summary":"Revisar Fuentes Web Operacion","description":"Ejecuta la revisión web desde el runner de procesos.\n\nEl proceso es la fuente del tenant cuando viene desde cron. Los campos de\nalcance explícitos se conservan para pruebas/manuales internas, siempre sin\nampliar más allá de un grupo y una entidad concretos.","operationId":"revisar_fuentes_web_operacion_operaciones_revisar_fuentes_web_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__routers__operaciones__RevisarFuentesWebRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevisarFuentesWebResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/ejecutar-heuristica":{"post":{"tags":["operaciones"],"summary":"Ejecutar Heuristica Operacion","description":"Ejecuta una HEURISTICA declarada por un tipo de proceso.\n\nLa ruta es interna: el proceso ya fue creado por el cron o por el motor de\nprocesos y su grupo/entidad/usuario son la fuente de contexto. No acepta un\ncódigo de habilidad arbitrario desde HTTP.","operationId":"ejecutar_heuristica_operacion_operaciones_ejecutar_heuristica_post","parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EjecutarHeuristicaRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/leer-mail":{"post":{"tags":["operaciones"],"summary":"Leer Mail","description":"Lee Gmail del ambiente y crea procesos MAIL/MAIL_ENTRANTE.\n\nLo invoca el runner desde MAIL/LECTURA_MAIL. El contexto real viene de la\nfila `procesos` creada por el watcher, no del buzón.","operationId":"leer_mail_operaciones_leer_mail_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeerMailRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/revisar-mail":{"post":{"tags":["operaciones"],"summary":"Revisar Mail","description":"Clasifica un MAIL/MAIL_ENTRANTE con el criterio de su usuario-perfil/posición.","operationId":"revisar_mail_operaciones_revisar_mail_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevisarMailRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/revisar-pendiente":{"post":{"tags":["operaciones"],"summary":"Revisar Pendiente","description":"Clasifica un PENDIENTES/PENDIENTE_ENTRANTE (POR_REVISAR) con el criterio de su posición.\n\nEspejo de /revisar-mail: la carga la hace la primitiva LEER_PENDIENTES (local,\nnecesita filesystem); esta máquina clasifica/deriva/escala lo ya cargado.","operationId":"revisar_pendiente_operaciones_revisar_pendiente_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevisarPendienteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/revisar-mails":{"post":{"tags":["operaciones"],"summary":"Revisar Mails","description":"Barrido cron MAIL/REVISION_MAILS: revisa los MAIL_ENTRANTE aún DISTRIBUIDO\nde todos los usuarios con el criterio de la posición dueña de cada bandeja.\nRed de seguridad de la revisión en línea de LECTURA_MAIL.","operationId":"revisar_mails_operaciones_revisar_mails_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BarridoRevisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/revisar-asignados":{"post":{"tags":["operaciones"],"summary":"Revisar Asignados","description":"Barrido cron PENDIENTES/REVISION_ASIGNADOS: revisa los PENDIENTE_ENTRANTE\nen POR_REVISAR y los clasifica/deriva/escala/solicita por posición.","operationId":"revisar_asignados_operaciones_revisar_asignados_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BarridoRevisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/plan-diario":{"post":{"tags":["operaciones"],"summary":"Plan Diario","description":"Cron PENDIENTES/ANALISIS_SEMANAL (o el ANALISIS_DIARIO legacy, apagado en\nmig 1160): por cada posición (usuario PERFIL) analiza sus procesos abiertos\ncon ANALIZAR_PENDIENTES y deja el plan como proceso PLAN_TRABAJO en su\nbandeja (\"Mis Procesos\" es la notificación). La ruta conserva el nombre\n/plan-diario porque es la que traen cableada las bitácoras históricas en su\npython_insert.","operationId":"plan_diario_operaciones_plan_diario_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BarridoRevisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/triage-errores":{"post":{"tags":["operaciones"],"summary":"Triage Errores","description":"Cron DESARROLLO/TRIAGE_ERRORES: barre los MANEJO_ERRORES vigentes, los\nconsolida por firma (REVISION_ERROR), cierra duplicados con \"N veces en X\ntiempo\", crea las TAREA_DESARROLLO para la posición DESARROLLO y deriva a\nProducto lo estructural (riesgo alto).","operationId":"triage_errores_operaciones_triage_errores_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BarridoRevisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/sonda-ci-github":{"post":{"tags":["operaciones"],"summary":"Sonda Ci Github","description":"Cron OPERACION/SONDA_CI_GITHUB: revisa los workflows de GitHub Actions de\nragfly-test/prod/corp y abre una ficha MANEJO_ERRORES por cada run fallido\nnuevo (en vez de dejarlo caer en SOLICITUDES/REVISION vía REVISION_MAIL, sin\ncron de salida), para que entre sola al triage de DESARROLLO/TRIAGE_ERRORES.","operationId":"sonda_ci_github_operaciones_sonda_ci_github_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BarridoRevisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/indexar-cabeceras-codigo":{"post":{"tags":["operaciones"],"summary":"Indexar Cabeceras Codigo","description":"Cron OPERACION/INDEXAR_CABECERAS_CODIGO: deja la entidad «Código RAGfly» igual a las\ncabeceras y los README de frontera de ragfly-test y ragfly-desktop (un tarball por repo).\n\nEl grupo y la entidad salen de `tipos_proceso.json`, nunca del cuerpo. Antes de tocar\nnada se exige que `codigo_proceso` exista y sea de este tipo: sin eso, cualquiera con\nel token interno podría disparar una indexación a nombre de otro proceso.","operationId":"indexar_cabeceras_codigo_operaciones_indexar_cabeceras_codigo_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BarridoRevisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/vigilar-github":{"post":{"tags":["operaciones"],"summary":"Vigilar Github","description":"Cron OPERACION/VIGILAR_GITHUB (EJEC 15 §7): avisa por Telegram y correo a la\npersona cuando githubstatus.com marca Actions/Git Operations caídos o cuando\nGitHub rechaza el GITHUB_TOKEN (la sonda de CI quedaría ciega).","operationId":"vigilar_github_operaciones_vigilar_github_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BarridoRevisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/barrer-solicitudes-ci":{"post":{"tags":["operaciones"],"summary":"Barrer Solicitudes Ci","description":"Cron OPERACION/BARRER_SOLICITUDES_CI (PLAN_OPERACION_AUTONOMA §O1.3): cierra con\nevidencia de GitHub los avisos de CI fallido abiertos en SOLICITUDES (éxito posterior) y\nconsolida los duplicados de una falla que sigue en el aviso más nuevo.","operationId":"barrer_solicitudes_ci_operaciones_barrer_solicitudes_ci_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BarridoRevisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/vigilar-deploys":{"post":{"tags":["operaciones"],"summary":"Vigilar Deploys","description":"Cron OPERACION/VIGILAR_DEPLOYS (EJEC 15 §7): avisa por Telegram y correo a la\npersona cuando el último deploy de un servicio de Railway quedó FAILED/CRASHED,\no cuando Railway rechaza el token con que se consulta.","operationId":"vigilar_deploys_operaciones_vigilar_deploys_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BarridoRevisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/conciliar-tests":{"post":{"tags":["operaciones"],"summary":"Conciliar Tests","description":"Cron TESTING/CONCILIAR_EJECUCIONES: cierra las corridas de test abiertas\nque YA se ejecutaron fuera de la interfaz (el resultado está escrito en la\ncorrida pero el estado quedó colgado), dejando como pendientes solo las que\nde verdad nunca corrieron. Red de seguridad de la bandeja de pendientes.","operationId":"conciliar_tests_operaciones_conciliar_tests_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BarridoRevisionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/diagnosticar-soporte":{"post":{"tags":["operaciones"],"summary":"Diagnosticar Soporte","description":"Engine de soporte: diagnostica una solicitud SOPORTE (INGRESADO) e intenta\nresolverla de inmediato; si no puede, la escala a TEST (Producto) con el JSON\ndel cliente (usuario/grupo/entidad), contexto del problema y diagnóstico.","operationId":"diagnosticar_soporte_operaciones_diagnosticar_soporte_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiagnosticarSoporteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/resolver-rls":{"post":{"tags":["operaciones"],"summary":"Resolver Rls","description":"Re-ejecuta la resolución automática de un ticket de alerta RLS de Supabase\n(SOPORTE/'Solicitud de Soporte SISTEMA', motivo RLS_DESACTIVADO) en todos los\nambientes. Sirve para reintentar un ticket que quedó EN_REVISION (mig 1415).","operationId":"resolver_rls_operaciones_resolver_rls_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"x-operacion-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Operacion-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiagnosticarSoporteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/operaciones/cron-tick":{"post":{"tags":["operaciones"],"summary":"Cron Tick","description":"Watcher de cron general. Lo pega un disparador externo (cron-job.org) cada N min.\n\nSIN sesión de usuario: se protege con el header `X-Cron-Token` contra el secreto\n`CRON_TICK_TOKEN` (Infisical por ambiente). Recorre `tipos_proceso` con cron y\ndispara los vencidos vía el runner. Ver app/helpers/cron_watcher.py y\ndocs/operativos/OPER_CRON_WATCHER.md (sucesor del PLAN_WATCHER_CRON\narchivado 2026-07-25).","operationId":"cron_tick_operaciones_cron_tick_post","parameters":[{"name":"x-cron-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cron-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/usuarios-semilla/crear-completo":{"post":{"tags":["Usuarios Semilla"],"summary":"Crear Completo","description":"Crea atómicamente: grupo + entidad + usuario (tipo_acceso=USUARIO) + roles iniciales.\nUsado por el runner al ejecutar python_update de tipos_proceso(000001,000001)\ncuando el proceso pasa de INGRESADO a MAIL_VALIDADO.","operationId":"crear_completo_usuarios_semilla_crear_completo_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrearCompletoRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrearCompletoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/errores/registrar":{"post":{"tags":["Errores"],"summary":"Registrar Error Frontend","description":"Registra un error capturado en el frontend y retorna un ErrorResponse\ncon el codigo_proceso generado para que el usuario pueda referenciarlo.","operationId":"registrar_error_frontend_errores_registrar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistrarErrorFrontendRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/habilidades":{"get":{"tags":["Habilidades"],"summary":"Listar Habilidades","description":"Catálogo de habilidades visibles para el usuario (filtrado por tipo_acceso).\n\nUn USUARIO no ve habilidades SISTEMA/ADMINISTRADOR. El filtro replica el de\n`v_habilidades_disponibles` (sin la allowlist por aplicación, que es propia de\n`/catalogo`). Cierra la fuga vía MCP `listar_habilidades` y CLI.\n\nCon `app` se restringe a las habilidades asociadas a esa aplicación vía\n`rel_aplicacion_habilidad` (mismo patrón que `/funciones?app=`).","operationId":"listar_habilidades_habilidades_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"aplica_a","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por tipo: DOCUMENTO|CONJUNTO_DOCUMENTOS|ESPACIO","title":"Aplica A"},"description":"Filtrar por tipo: DOCUMENTO|CONJUNTO_DOCUMENTOS|ESPACIO"},{"name":"app","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por aplicación asociada (rel_aplicacion_habilidad)","title":"App"},"description":"Filtrar por aplicación asociada (rel_aplicacion_habilidad)"},{"name":"solo_publicables","in":"query","required":false,"schema":{"type":"boolean","description":"Excluye la maquinaria interna (tipo_acceso SISTEMA) para la frontera externa","default":false,"title":"Solo Publicables"},"description":"Excluye la maquinaria interna (tipo_acceso SISTEMA) para la frontera externa"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HabilidadResponse"},"title":"Response Listar Habilidades Habilidades Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Habilidades"],"summary":"Crear Habilidad","operationId":"crear_habilidad_habilidades_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HabilidadCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HabilidadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/habilidades/{codigo_habilidad}":{"get":{"tags":["Habilidades"],"summary":"Obtener Habilidad","operationId":"obtener_habilidad_habilidades__codigo_habilidad__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_habilidad","in":"path","required":true,"schema":{"type":"string","title":"Codigo Habilidad"}},{"name":"solo_publicables","in":"query","required":false,"schema":{"type":"boolean","description":"404 si la habilidad es maquinaria interna (tipo_acceso SISTEMA)","default":false,"title":"Solo Publicables"},"description":"404 si la habilidad es maquinaria interna (tipo_acceso SISTEMA)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HabilidadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Habilidades"],"summary":"Actualizar Habilidad","operationId":"actualizar_habilidad_habilidades__codigo_habilidad__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_habilidad","in":"path","required":true,"schema":{"type":"string","title":"Codigo Habilidad"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HabilidadUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HabilidadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Habilidades"],"summary":"Eliminar Habilidad","operationId":"eliminar_habilidad_habilidades__codigo_habilidad__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_habilidad","in":"path","required":true,"schema":{"type":"string","title":"Codigo Habilidad"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/habilidades/{codigo_habilidad}/ejecutar":{"post":{"tags":["Habilidades"],"summary":"Ejecutar Habilidad","description":"Encola la ejecución de una habilidad sobre uno o varios documentos.\n\nSolo soporta `aplica_a='DOCUMENTO'` en este corte (Familia A: una fila\npor documento, el procesador de cola aplica el prompt en paralelo). El\nprocesador existente toma las filas y delega a `ProcesoHabilidad`.\n\nReturns 202 Accepted con la lista de id_cola creados. (Fase 2) El\nprocesador de cola procesará los items automáticamente tras la llamada a\n/cola-estados-docs/ejecutar (BackgroundTask del proceso FastAPI).","operationId":"ejecutar_habilidad_habilidades__codigo_habilidad__ejecutar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_habilidad","in":"path","required":true,"schema":{"type":"string","title":"Codigo Habilidad"}},{"name":"solo_publicables","in":"query","required":false,"schema":{"type":"boolean","description":"404 si la habilidad es maquinaria interna (tipo_acceso SISTEMA)","default":false,"title":"Solo Publicables"},"description":"404 si la habilidad es maquinaria interna (tipo_acceso SISTEMA)"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EjecutarHabilidadRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SobreEjecucion"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/habilidades/ejecuciones/{id_ejecucion}/avance":{"get":{"tags":["Habilidades"],"summary":"Avance Ejecucion","description":"Devuelve el avance de una ejecucion de habilidad (fire-and-forget).\n\n`id_ejecucion` se interpreta como id_espacio. Si el id_espacio no\nexiste o pertenece a otro grupo, devuelve 404/403.\n\nReturns:\n    {\n      id_ejecucion, codigo_habilidad, total, completados, errores,\n      en_proceso, pendientes, estado_global, eta_segundos, porcentaje\n    }","operationId":"avance_ejecucion_habilidades_ejecuciones__id_ejecucion__avance_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_ejecucion","in":"path","required":true,"schema":{"type":"integer","title":"Id Ejecucion"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/habilidades/ejecuciones/{id_ejecucion}/resultados":{"get":{"tags":["Habilidades"],"summary":"Resultados Ejecucion","description":"Devuelve los resultados producidos por una ejecucion de habilidad.\n\nPara habilidades con `salida_destino='DOC_COLUMNA'`, devuelve el contenido\ndel campo objetivo de cada documento procesado. Para 'CHAT_INLINE',\ndevuelve el campo `resultado` de la fila de cola.\n\nArgs:\n    id_ejecucion: id_espacio del lote.\n    limite: max docs por pagina (default 20, max 100).\n    offset: paginacion.\n\nReturns:\n    {id_ejecucion, total, resultados: [{codigo_documento, nombre,\n    valor, tokens, ...}], tiene_mas}","operationId":"resultados_ejecucion_habilidades_ejecuciones__id_ejecucion__resultados_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_ejecucion","in":"path","required":true,"schema":{"type":"integer","title":"Id Ejecucion"}},{"name":"limite","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limite"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/dual-map":{"get":{"tags":["Mapa Dual"],"summary":"Listar Mapa Dual","operationId":"listar_mapa_dual_dual_map_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"familia_artefacto","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Familia Artefacto"}},{"name":"habilitado","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Habilitado"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MapaDualResponse"},"title":"Response Listar Mapa Dual Dual Map Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Mapa Dual"],"summary":"Crear Tipo Artefacto","operationId":"crear_tipo_artefacto_dual_map_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MapaDualCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MapaDualResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/dual-map/paginado":{"get":{"tags":["Mapa Dual"],"summary":"Listar Mapa Dual Paginado","operationId":"listar_mapa_dual_paginado_dual_map_paginado_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15,"title":"Limit"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"familia_artefacto","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Familia Artefacto"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/dual-map/{codigo_tipo_artefacto}":{"get":{"tags":["Mapa Dual"],"summary":"Obtener Tipo Artefacto","operationId":"obtener_tipo_artefacto_dual_map__codigo_tipo_artefacto__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_tipo_artefacto","in":"path","required":true,"schema":{"type":"string","title":"Codigo Tipo Artefacto"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MapaDualResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Mapa Dual"],"summary":"Actualizar Tipo Artefacto","operationId":"actualizar_tipo_artefacto_dual_map__codigo_tipo_artefacto__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_tipo_artefacto","in":"path","required":true,"schema":{"type":"string","title":"Codigo Tipo Artefacto"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MapaDualUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MapaDualResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Mapa Dual"],"summary":"Eliminar Tipo Artefacto","operationId":"eliminar_tipo_artefacto_dual_map__codigo_tipo_artefacto__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_tipo_artefacto","in":"path","required":true,"schema":{"type":"string","title":"Codigo Tipo Artefacto"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/dual-map/reordenar":{"put":{"tags":["Mapa Dual"],"summary":"Reordenar Mapa Dual","operationId":"reordenar_mapa_dual_dual_map_reordenar_put","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MapaDualOrden"},"type":"array","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/clasificar/prompt-vivo":{"get":{"tags":["Clasificar"],"summary":"Prompt Vivo","description":"Reconstruye el prompt compuesto que recibe el LLM al clasificar.\n\nDevuelve el system_prompt y el user prompt en dos versiones:\n- `con_marcas`: con encabezados `[═══ FUENTE: ... ═══]` para mostrar en UI.\n- `limpio`: exactamente lo que recibe el LLM, sin marcas.\n\nSi `codigo_documento` viene, los placeholders del documento se renderizan\ncon datos reales. Si no, quedan como placeholders visibles `<...>`.\n\nSolo cubre la habilidad CLASIFICAR_DOCUMENTO porque es la única cuyo prompt\nse compone con descripciones modulares por categoría y por tipo.\n\nEl prompt real usa {categorias_filtradas} (catálogo acotado al tipo elegido\nen el pipeline). Aquí —vista general sin documento clasificado— lo poblamos\ncon el catálogo completo y dejamos {tipo_documento_elegido} como marcador.","operationId":"prompt_vivo_clasificar_prompt_vivo_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_documento","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Documento"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pagos/estado":{"get":{"tags":["Pagos"],"summary":"Estado Suscripcion","description":"Estado de suscripción del grupo activo + plan asignado al grupo.\nAlimenta la pantalla 'Mi Cuenta'. Filtra por grupo_activo (regla del proyecto).","operationId":"estado_suscripcion_pagos_estado_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/pagos/catalogo-publico":{"get":{"tags":["Pagos"],"summary":"Catalogo Planes Publico","description":"Pricing público derivado de la misma BD que gobierna el producto.","operationId":"catalogo_planes_publico_pagos_catalogo_publico_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"locale","in":"query","required":false,"schema":{"type":"string","default":"es","title":"Locale"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pagos/catalogo":{"get":{"tags":["Pagos"],"summary":"Catalogo Planes","description":"Catálogo comercial autenticado, idéntico al público y localizado.","operationId":"catalogo_planes_pagos_catalogo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/pagos/consentimiento-free":{"get":{"tags":["Pagos"],"summary":"Estado Consentimiento Free","operationId":"estado_consentimiento_free_pagos_consentimiento_free_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Pagos"],"summary":"Aceptar Consentimiento Free","operationId":"aceptar_consentimiento_free_pagos_consentimiento_free_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/pagos/checkout-session":{"post":{"tags":["Pagos"],"summary":"Crear Checkout Session","description":"Crea sesión de ALTA de suscripción (solo primer plan pagado).\n\nEl checkout queda reservado al alta inicial: el grupo debe estar en el plan\nbase sin suscripción vigente, y el destino debe ser exactamente el plan\npagado inmediatamente siguiente. Un upgrade de una suscripción existente va\npor POST /pagos/cambiar-plan (update en el proveedor, sin segundo checkout).","operationId":"crear_checkout_session_pagos_checkout_session_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/pagos/cambiar-plan":{"post":{"tags":["Pagos"],"summary":"Cambiar Plan","description":"Sube la suscripción existente al plan pagado inmediatamente siguiente.\n\nActualiza la suscripción vigente en el proveedor (prorrateo inmediato,\nprevent_change). NO escribe nada en la BD local: el plan se aplica recién\ncuando llega el webhook firmado. La respuesta solo habilita mostrar\n\"cambio pendiente\" en la interfaz.","operationId":"cambiar_plan_pagos_cambiar_plan_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CambiarPlanRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/pagos/portal-session":{"post":{"tags":["Pagos"],"summary":"Crear Portal Session","description":"Abre el portal de cliente del proveedor para gestionar la suscripción del grupo.","operationId":"crear_portal_session_pagos_portal_session_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/pagos/webhook":{"post":{"tags":["Pagos"],"summary":"Webhook","description":"Recibe webhooks del proveedor. Idempotente vía tabla eventos_pago.","operationId":"webhook_pagos_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/pagos/creditos":{"get":{"tags":["Pagos"],"summary":"Creditos Grupo","description":"Saldos de créditos prepagados del grupo activo (Mi Cuenta / modal).","operationId":"creditos_grupo_pagos_creditos_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/pagos/comprar-pack":{"post":{"tags":["Pagos"],"summary":"Comprar Pack","description":"Checkout one-time de un pack de créditos (compra manual, sin cobro\nautomático — PROD_08 §9/§15). Requiere plan pagado con suscripción activa;\nla acreditación llega por el webhook `transaction.completed`.","operationId":"comprar_pack_pagos_comprar_pack_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComprarPackRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/pagos/adicional-corpus":{"put":{"tags":["Pagos"],"summary":"Cambiar Adicional Corpus","description":"Ajusta el item recurrente +10k de la suscripción existente.\n\nPaddle aplica prorrateo inmediato. RAGfly mantiene la cantidad vigente\nhasta recibir el webhook firmado. Al reducir, se impide dejar el corpus\nactual por encima de la capacidad resultante.","operationId":"cambiar_adicional_corpus_pagos_adicional_corpus_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CambiarAdicionalCorpusRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/pagos/overage":{"get":{"tags":["Pagos"],"summary":"Overage Pendiente","description":"Overage facturable PENDIENTE del grupo activo (para 'Mi Cuenta').","operationId":"overage_pendiente_pagos_overage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/pagos/cobrar-overage":{"post":{"tags":["Pagos"],"summary":"Cobrar Overage","description":"Cobra el overage PENDIENTE del grupo vía el proveedor de pagos (Paddle).\n\nLee overage_facturable PENDIENTE, crea una transacción por característica con\nsu price_id de overage, y marca COBRADO. Si falta price_id o customer del\nproveedor, rechaza con 422 (no cobra a ciegas).\n\nEl price_id se resuelve primero por plan (`caracteristicas_plan.price_id_overage`,\npara packs que difieren por plan como Verified Answers) y si no hay uno definido\nahí, cae al price_id global de la característica (`caracteristicas.price_id_overage`,\npara overage uniforme como Páginas o Agentic Retrieval).","operationId":"cobrar_overage_pagos_cobrar_overage_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/pagos/cancelaciones":{"get":{"tags":["Pagos"],"summary":"Listar Cancelaciones","description":"Lista de motivos de cancelación. Solo accesible para SISTEMA.","operationId":"listar_cancelaciones_pagos_cancelaciones_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"grupo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grupo"}},{"name":"limite","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limite"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pagos/cancelar-feedback":{"post":{"tags":["Pagos"],"summary":"Cancelar Feedback","description":"Guarda el motivo de cancelación del usuario y devuelve la URL del portal\nde Paddle para que el usuario complete la cancelación allí.","operationId":"cancelar_feedback_pagos_cancelar_feedback_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelarFeedbackRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/secrets":{"get":{"tags":["Secretos"],"summary":"Listar Secretos","operationId":"listar_secretos_secrets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SecretoGrupoResponse"},"type":"array","title":"Response Listar Secretos Secrets Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Secretos"],"summary":"Crear Secreto","operationId":"crear_secreto_secrets_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretoGrupoCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretoGrupoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/secrets/{tipo_secreto}":{"put":{"tags":["Secretos"],"summary":"Actualizar Secreto","operationId":"actualizar_secreto_secrets__tipo_secreto__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tipo_secreto","in":"path","required":true,"schema":{"type":"string","title":"Tipo Secreto"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretoGrupoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretoGrupoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Secretos"],"summary":"Eliminar Secreto","operationId":"eliminar_secreto_secrets__tipo_secreto__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tipo_secreto","in":"path","required":true,"schema":{"type":"string","title":"Tipo Secreto"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/secrets-system":{"get":{"tags":["Secretos"],"summary":"Listar Secretos Sistema","operationId":"listar_secretos_sistema_secrets_system_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SecretoGrupoResponse"},"type":"array","title":"Response Listar Secretos Sistema Secrets System Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["Secretos"],"summary":"Crear Secreto Sistema","operationId":"crear_secreto_sistema_secrets_system_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretoGrupoCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretoGrupoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/secrets-system/{tipo_secreto}":{"put":{"tags":["Secretos"],"summary":"Actualizar Secreto Sistema","operationId":"actualizar_secreto_sistema_secrets_system__tipo_secreto__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tipo_secreto","in":"path","required":true,"schema":{"type":"string","title":"Tipo Secreto"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretoGrupoUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretoGrupoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Secretos"],"summary":"Eliminar Secreto Sistema","operationId":"eliminar_secreto_sistema_secrets_system__tipo_secreto__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tipo_secreto","in":"path","required":true,"schema":{"type":"string","title":"Tipo Secreto"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sla-procesos/panel":{"get":{"tags":["Procesos - Panel SLA"],"summary":"Panel Sla","description":"Resumen SLA por categoría → tipo de proceso.\n\nSemáforo sobre los ABIERTOS (estado canónico no terminal: ni CERRADO ni CANCELADO):\n  vencido    = fecha_comprometida < ahora\n  por_vencer = consumido >= 80% del plazo (fecha_inicio → fecha_comprometida)\n  al_dia     = resto con fecha_comprometida\n  sin_sla    = abiertos sin fecha_comprometida (sin regla al momento de crearse)\nCumplimiento = cerrados en la ventana con fecha_cierre <= fecha_comprometida.","operationId":"panel_sla_sla_procesos_panel_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"dias_cumplimiento","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"description":"Ventana del % de cumplimiento","default":30,"title":"Dias Cumplimiento"},"description":"Ventana del % de cumplimiento"},{"name":"dias_recencia","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"description":"Ventana para 'última ejecución'","default":60,"title":"Dias Recencia"},"description":"Ventana para 'última ejecución'"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlaPanelResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sla-procesos/reglas":{"get":{"tags":["Procesos - Panel SLA"],"summary":"Listar Reglas","operationId":"listar_reglas_sla_procesos_reglas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_categoria_proceso","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Categoria Proceso"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SlaRegla"},"title":"Response Listar Reglas Sla Procesos Reglas Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Procesos - Panel SLA"],"summary":"Crear Regla","operationId":"crear_regla_sla_procesos_reglas_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlaReglaCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlaRegla"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sla-procesos/reglas/{id_regla}":{"patch":{"tags":["Procesos - Panel SLA"],"summary":"Actualizar Regla","operationId":"actualizar_regla_sla_procesos_reglas__id_regla__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_regla","in":"path","required":true,"schema":{"type":"integer","title":"Id Regla"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlaReglaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlaRegla"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Procesos - Panel SLA"],"summary":"Eliminar Regla","operationId":"eliminar_regla_sla_procesos_reglas__id_regla__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id_regla","in":"path","required":true,"schema":{"type":"integer","title":"Id Regla"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/monitor-cron/observador-desktop":{"get":{"tags":["Procesos - Monitor Cron"],"summary":"Estado Observador Desktop","description":"Muestra el único Desktop que observa automáticamente el grupo activo.","operationId":"estado_observador_desktop_monitor_cron_observador_desktop_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObservadorDesktopGrupo"}}}}},"security":[{"HTTPBearer":[]}]}},"/monitor-cron/observador-desktop/liberar":{"post":{"tags":["Procesos - Monitor Cron"],"summary":"Liberar Observador Desktop","description":"Vacía el dueño; no exige conocer ni seleccionar el nombre del Desktop.","operationId":"liberar_observador_desktop_monitor_cron_observador_desktop_liberar_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiberarObservadorDesktopRespuesta"}}}}},"security":[{"HTTPBearer":[]}]}},"/monitor-cron/dashboard":{"get":{"tags":["Procesos - Monitor Cron"],"summary":"Dashboard Cron","description":"Estado del cron general: tipos, próximas ejecuciones, historial y alertas.","operationId":"dashboard_cron_monitor_cron_dashboard_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"semanas","in":"query","required":false,"schema":{"type":"integer","maximum":8,"minimum":1,"description":"Ventana de proyección hacia adelante","default":4,"title":"Semanas"},"description":"Ventana de proyección hacia adelante"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorCronResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/monitor-cron/estaciones":{"post":{"tags":["Procesos - Monitor Cron"],"summary":"Crear Estacion","description":"Registra una computadora en el tenant activo; nace inactiva salvo decisión explícita.","operationId":"crear_estacion_monitor_cron_estaciones_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstacionEjecucionCrear"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstacionEjecucionCron"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/monitor-cron/estaciones/{codigo_estacion}":{"patch":{"tags":["Procesos - Monitor Cron"],"summary":"Actualizar Estacion","description":"Adscribe o modifica una estación sin permitir cruces de tenant.","operationId":"actualizar_estacion_monitor_cron_estaciones__codigo_estacion__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_estacion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Estacion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstacionEjecucionEntrada"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EstacionEjecucionCron"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/monitor-cron/estaciones/{codigo_estacion}/recuperar-lease":{"post":{"tags":["Procesos - Monitor Cron"],"summary":"Recuperar Lease Estacion","description":"Desactiva una estación abandonada y devuelve su intento a la cola.\n\nUn lease de 120 minutos de una estación que perdió el pulso retenía el\ntrabajo aunque hubiera otra estación sana. Esta puerta hace lo que antes\nse hacía con un UPDATE a mano: comprueba que el intento pertenece a la\nestación, la desactiva para que no vuelva a reclamar, libera el lease y\ndeja el motivo en el proceso. Todo queda auditado.","operationId":"recuperar_lease_estacion_monitor_cron_estaciones__codigo_estacion__recuperar_lease_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"codigo_estacion","in":"path","required":true,"schema":{"type":"string","title":"Codigo Estacion"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecuperarLeaseEstacionBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecuperarLeaseEstacionRespuesta"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/glosario":{"get":{"tags":["Glosario"],"summary":"Listar Glosario","description":"Lista el glosario visible para el grupo activo (entradas del grupo +\nglobales). Retorna `{items, total, page, limit}`. Filtro opcional `q`\n(ilike sobre canónico y expansión). Orden: mayor frecuencia primero.","operationId":"listar_glosario_glosario_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/glosario/tipos-documento-inventario":{"get":{"tags":["Glosario"],"summary":"Inventario Tipos Documento","description":"Inventario de tipos de documento a la salida de la ingesta para el grupo\nactivo: cada tipo asignado con su conteo de documentos. La fila sin tipo\n(codigo_tipo_documento NULL) aparece como \"Sin tipo asignado\".\nRetorna `{items: [{codigo, nombre, superior, n_documentos}], total_documentos}`\nordenado por conteo descendente.","operationId":"inventario_tipos_documento_glosario_tipos_documento_inventario_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/glosario/corte-lote":{"post":{"tags":["Glosario"],"summary":"Corte Lote Desktop","description":"Recibe la cosecha del lote del Desktop y corre la digestión del corte.\n\nEs el MISMO corte lógico ESCANEADO→CHUNKEAR que el Cloud dispara al arrancar\nla pasada CHUNKEAR: glosario + curación de tipos, con la misma definición (`services/digestion_lote`). Lo que cambia es quién\nlo gatilla, no qué hace.\n\nEl Desktop tiene que entregar acá y no guardarlo localmente porque el\nglosario y el catálogo de tipos son del GRUPO, no del dispositivo: dos\nequipos del mismo cliente alimentan la misma cosecha, y el catálogo\nadministrado ni siquiera se persiste en su SQLite (mig local 027). Y tiene\nque hacerlo en el corte porque la cosecha se levanta del texto, que el\nchunkeo borra enseguida.\n\nEl grupo sale SIEMPRE del contexto del usuario autenticado, nunca del body:\nel `codigo_grupo` que manda el cliente se ignora a propósito, para que un\nDesktop no pueda escribir en la cosecha de otro tenant.","operationId":"corte_lote_desktop_glosario_corte_lote_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorteLoteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorteLoteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/session":{"get":{"tags":["Public API v1"],"summary":"Session","operationId":"session_v1_session_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/session/active-entity":{"post":{"tags":["Public API v1"],"summary":"Set Active Entity","description":"Set or release the authenticated identity's active entity focus.","operationId":"set_active_entity_v1_session_active_entity_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetActiveEntityRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/session/active-area":{"post":{"tags":["Public API v1"],"summary":"Set or release the active area","description":"Set an authorized organizational area; this also selects its entity. Send `area_code: null` to release the area focus while keeping the entity. Errors: `403 FORBIDDEN`, `409 CONTEXT_CONFLICT`, or `422 VALIDATION_ERROR`.","operationId":"set_active_area_v1_session_active_area_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetActiveAreaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionResponse"}}}},"403":{"description":"FORBIDDEN — the area or identity is outside the authorized scope."},"409":{"description":"CONTEXT_CONFLICT — a saved area scope no longer matches current permissions."},"422":{"description":"VALIDATION_ERROR — area_code is required; use null to release it."}},"security":[{"HTTPBearer":[]}]}},"/v1/areas":{"get":{"tags":["Public API v1"],"summary":"List visible organizational areas","description":"Returns areas under the current authorization root. `entity_code` is required when there is no active entity. Missing context returns `400 INVALID_CONTEXT`.","operationId":"list_areas_v1_areas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entity_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Code"}},{"name":"parent_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Code"}},{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisibleHierarchyResponse"}}}},"400":{"description":"INVALID_CONTEXT — an active entity or entity_code is required."},"403":{"description":"FORBIDDEN — the entity or parent area is outside the authorized scope."},"422":{"description":"VALIDATION_ERROR — the cursor is invalid."}}}},"/v1/locations":{"get":{"tags":["Public API v1"],"summary":"List visible document folders","description":"Returns folders inside the effective area. `entity_code` is required when there is no active entity. A folder is a temporary document filter, not an area.","operationId":"list_locations_v1_locations_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entity_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Code"}},{"name":"parent_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Code"}},{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisibleHierarchyResponse"}}}},"400":{"description":"INVALID_CONTEXT — an active entity or entity_code is required."},"404":{"description":"NOT_FOUND — the parent folder is not visible."},"422":{"description":"VALIDATION_ERROR — the cursor is invalid."}}}},"/v1/documents":{"get":{"tags":["Public API v1"],"summary":"Documents","operationId":"documents_v1_documents_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"","title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"location_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Temporarily restrict this request to a visible folder and its descendants; invisible folders return 404 NOT_FOUND.","title":"Location Code"},"description":"Temporarily restrict this request to a visible folder and its descendants; invisible folders return 404 NOT_FOUND."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/documents/search":{"post":{"tags":["Public API v1"],"summary":"Search Documents","operationId":"search_documents_v1_documents_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/documents/{document_code}/edges":{"get":{"tags":["Public API v1"],"summary":"Document Edges","operationId":"document_edges_v1_documents__document_code__edges_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_code","in":"path","required":true,"schema":{"type":"string","title":"Document Code"}},{"name":"neighbor_limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Neighbor Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/documents/{document_code}":{"get":{"tags":["Public API v1"],"summary":"Document","operationId":"document_v1_documents__document_code__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_code","in":"path","required":true,"schema":{"type":"string","title":"Document Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/spaces":{"get":{"tags":["Public API v1"],"summary":"Spaces","operationId":"spaces_v1_spaces_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/spaces/compose":{"post":{"tags":["Public API v1"],"summary":"Compose Spaces","operationId":"compose_spaces_v1_spaces_compose_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComposeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/spaces/{space_id}/read":{"post":{"tags":["Public API v1"],"summary":"Read Space","operationId":"read_space_v1_spaces__space_id__read_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"space_id","in":"path","required":true,"schema":{"type":"integer","title":"Space Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadSpaceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/spaces/{space_id}/refresh":{"post":{"tags":["Public API v1"],"summary":"Refresh Space","operationId":"refresh_space_v1_spaces__space_id__refresh_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"space_id","in":"path","required":true,"schema":{"type":"integer","title":"Space Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/spaces/{space_id}/promote":{"post":{"tags":["Public API v1"],"summary":"Promote Space","operationId":"promote_space_v1_spaces__space_id__promote_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"space_id","in":"path","required":true,"schema":{"type":"integer","title":"Space Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/spaces/{space_id}":{"get":{"tags":["Public API v1"],"summary":"Space","operationId":"space_v1_spaces__space_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"space_id","in":"path","required":true,"schema":{"type":"integer","title":"Space Id"}},{"name":"document_limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Document Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/queue":{"get":{"tags":["Public API v1"],"summary":"Queue","operationId":"queue_v1_queue_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"process","in":"query","required":false,"schema":{"type":"string","default":"","title":"Process"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"","title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runs":{"get":{"tags":["Public API v1"],"summary":"Runs","operationId":"runs_v1_runs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/catalog":{"get":{"tags":["Public API v1"],"summary":"Catalog","operationId":"catalog_v1_catalog_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"type","in":"query","required":false,"schema":{"type":"string","default":"ALL","title":"Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/catalog/document-types":{"get":{"tags":["Public API v1"],"summary":"Catalog Document Types","description":"Document types of the entity as a tree (a type lists its parent). Use the codes in `filter.document_types`.","operationId":"catalog_document_types_v1_catalog_document_types_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entity_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Defaults to the active entity.","title":"Entity Code"},"description":"Defaults to the active entity."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/catalog/characteristics":{"get":{"tags":["Public API v1"],"summary":"Catalog Characteristics","description":"Characteristics (content data points) available for those types. Use them in `filter.characteristics`.","operationId":"catalog_characteristics_v1_catalog_characteristics_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_types","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated document type codes; each includes its more specific types. Empty = all.","title":"Document Types"},"description":"Comma-separated document type codes; each includes its more specific types. Empty = all."},{"name":"entity_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Defaults to the active entity.","title":"Entity Code"},"description":"Defaults to the active entity."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/functions/{function_code}":{"get":{"tags":["Public API v1"],"summary":"Function","operationId":"function_v1_functions__function_code__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"function_code","in":"path","required":true,"schema":{"type":"string","title":"Function Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/skills":{"get":{"tags":["Public API v1"],"summary":"Skills","operationId":"skills_v1_skills_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/skills/{skill_code}/run":{"post":{"tags":["Public API v1"],"summary":"Run Skill","operationId":"run_skill_v1_skills__skill_code__run_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skill_code","in":"path","required":true,"schema":{"type":"string","title":"Skill Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunSkillRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/skills/{skill_code}":{"get":{"tags":["Public API v1"],"summary":"Skill","operationId":"skill_v1_skills__skill_code__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skill_code","in":"path","required":true,"schema":{"type":"string","title":"Skill Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ask":{"post":{"tags":["Public API v1"],"summary":"Ask","operationId":"ask_v1_ask_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/agent/context":{"get":{"tags":["Public API v1"],"summary":"Agent Context","operationId":"agent_context_v1_agent_context_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"function_profile","in":"query","required":false,"schema":{"type":"string","default":"user_chat","title":"Function Profile"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent/tools/{public_name}":{"post":{"tags":["Public API v1"],"summary":"Run Agent Tool","operationId":"run_agent_tool_v1_agent_tools__public_name__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"public_name","in":"path","required":true,"schema":{"type":"string","title":"Public Name"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/organization":{"get":{"tags":["Public API v1"],"summary":"Get Organization","operationId":"get_organization_v1_organization_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entity_code","in":"query","required":false,"schema":{"type":"string","default":"","title":"Entity Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Public API v1"],"summary":"Update Organization","operationId":"update_organization_v1_organization_put","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/organization/draft":{"post":{"tags":["Public API v1"],"summary":"Draft Organization","operationId":"draft_organization_v1_organization_draft_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DraftOrganizationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/usage":{"get":{"tags":["Public API v1"],"summary":"Usage","operationId":"usage_v1_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/conversations":{"get":{"tags":["Public API v1"],"summary":"Conversations","operationId":"conversations_v1_conversations_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"function_code","in":"query","required":false,"schema":{"type":"string","default":"","title":"Function Code"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/conversations/{conversation_id}":{"delete":{"tags":["Public API v1"],"summary":"Delete Conversation","operationId":"delete_conversation_v1_conversations__conversation_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","title":"Conversation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/processes":{"get":{"tags":["Public API v1"],"summary":"Processes","operationId":"processes_v1_processes_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"","title":"Status"}},{"name":"process_type","in":"query","required":false,"schema":{"type":"string","default":"","title":"Process Type"}},{"name":"category","in":"query","required":false,"schema":{"type":"string","default":"","title":"Category"}},{"name":"mine","in":"query","required":false,"schema":{"type":"boolean","description":"Only processes created by or assigned to the caller.","default":false,"title":"Mine"},"description":"Only processes created by or assigned to the caller."},{"name":"only_open","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Only Open"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/processes/{process_code}":{"get":{"tags":["Public API v1"],"summary":"Process","operationId":"process_v1_processes__process_code__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"process_code","in":"path","required":true,"schema":{"type":"string","title":"Process Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Public API v1"],"summary":"Update Process","operationId":"update_process_v1_processes__process_code__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"process_code","in":"path","required":true,"schema":{"type":"string","title":"Process Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProcessRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operations":{"get":{"tags":["Public API v1"],"summary":"List Operations","operationId":"list_operations_v1_operations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/operations/{code}":{"get":{"tags":["Public API v1"],"summary":"Get Operation","operationId":"get_operation_v1_operations__code__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operations/{code}:execute":{"post":{"tags":["Public API v1"],"summary":"Execute Operation","operationId":"execute_operation_v1_operations__code__execute_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecuteOperationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/consent/vista":{"get":{"tags":["OAuth MCP"],"summary":"Vista Consentimiento","operationId":"vista_consentimiento_oauth_consent_vista_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"ticket","in":"query","required":true,"schema":{"type":"string","title":"Ticket"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentimientoVistaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/consent":{"post":{"tags":["OAuth MCP"],"summary":"Consentir","operationId":"consentir_oauth_consent_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentimientoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentimientoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/health":{"get":{"tags":["Sistema"],"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AccionAlimentacion":{"properties":{"tipo":{"type":"string","title":"Tipo"},"proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proceso"},"estado_origen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Origen"},"estado_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Destino"},"ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ubicacion"},"tope":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tope"}},"type":"object","required":["tipo"],"title":"AccionAlimentacion"},"AccionCorridaFuenteResponse":{"properties":{"codigo_corrida":{"type":"string","title":"Codigo Corrida"},"numero_evento":{"type":"integer","title":"Numero Evento"},"accion":{"type":"string","enum":["INVENTARIAR","EXTRAER","ESPERAR_PIPELINE","TERMINADA"],"title":"Accion"},"carga":{"additionalProperties":true,"type":"object","title":"Carga"},"progreso":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}]},"type":"object","title":"Progreso"}},"type":"object","required":["codigo_corrida","numero_evento","accion","carga","progreso"],"title":"AccionCorridaFuenteResponse"},"AccionProcesoBody":{"properties":{"accion":{"type":"string","enum":["DERIVAR","ESCALAR","BLOQUEAR","REINTENTAR","CERRAR","APROBAR","ANULAR"],"title":"Accion"},"motivo":{"type":"string","maxLength":4000,"title":"Motivo","default":""},"codigo_posicion_destino":{"anyOf":[{"type":"string","maxLength":60,"minLength":1},{"type":"null"}],"title":"Codigo Posicion Destino"},"evidencia":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":50,"title":"Evidencia"}},"additionalProperties":false,"type":"object","required":["accion"],"title":"AccionProcesoBody","description":"Acción humana sobre un proceso, gobernada por el motor de decisiones.\n\nNo permite mutar directamente la asignación: DERIVAR y ESCALAR dejan una\nACCION_PROPUESTA hija y aplican el efecto únicamente a través del ejecutor\ndeterminista ya usado por el resto del motor."},"AccionProcesoResponse":{"properties":{"proceso":{"$ref":"#/components/schemas/ProcesoInstanciaResponse"},"accion_propuesta":{"anyOf":[{"$ref":"#/components/schemas/ProcesoInstanciaResponse"},{"type":"null"}]},"solicitud_aprobacion":{"anyOf":[{"$ref":"#/components/schemas/ProcesoInstanciaResponse"},{"type":"null"}]},"estado":{"type":"string","title":"Estado"}},"type":"object","required":["proceso","estado"],"title":"AccionProcesoResponse"},"ActualizarConexionFuente":{"properties":{"frecuencia":{"anyOf":[{"type":"string","enum":["MANUAL","HORARIA","DIARIA"]},{"type":"null"}],"title":"Frecuencia"},"dueno":{"anyOf":[{"type":"string","enum":["ESTE_EQUIPO","NINGUNO"]},{"type":"null"}],"title":"Dueno"}},"additionalProperties":false,"type":"object","title":"ActualizarConexionFuente"},"ActualizarEstadoConductorRequest":{"properties":{"modo_continuo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modo Continuo"},"estado_conductor":{"additionalProperties":true,"type":"object","title":"Estado Conductor"}},"type":"object","title":"ActualizarEstadoConductorRequest"},"ActualizarRelFuncionApp":{"properties":{"inicial":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Inicial"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"}},"type":"object","title":"ActualizarRelFuncionApp"},"AfirmacionOperacion":{"properties":{"clave":{"type":"string","pattern":"^[a-z0-9_]+$","title":"Clave"},"clase":{"type":"string","enum":["NAVEGACION","INTERACCION","BACKGROUND","DETENCION","RECUPERACION"],"title":"Clase"},"seccion":{"type":"string","maxLength":120,"minLength":1,"title":"Seccion"},"texto":{"type":"string","maxLength":2000,"minLength":1,"title":"Texto"},"huella":{"type":"string","title":"Huella"},"decision":{"type":"string","enum":["AUTO","APROBADA","CORREGIDA","PENDIENTE","DESCARTADA"],"title":"Decision"},"origen":{"type":"string","enum":["AGENTE","HUMANO"],"title":"Origen"},"sha":{"type":"string","title":"Sha"},"evidencias":{"items":{"$ref":"#/components/schemas/EvidenciaOperacion"},"type":"array","title":"Evidencias"},"motivo_revision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Motivo Revision"},"decision_humana_previa":{"anyOf":[{"type":"string","enum":["APROBADA","CORREGIDA","DESCARTADA"]},{"type":"null"}],"title":"Decision Humana Previa"},"exposicion":{"anyOf":[{"$ref":"#/components/schemas/ExposicionOperacion"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["clave","clase","seccion","texto","huella","decision","origen","sha","evidencias"],"title":"AfirmacionOperacion"},"AgentContextResponse":{"properties":{"schema_version":{"type":"string","title":"Schema Version","default":"1"},"function_profile":{"$ref":"#/components/schemas/FunctionProfile"},"system_prompt":{"type":"string","title":"System Prompt"},"system_prompt_hash":{"type":"string","title":"System Prompt Hash"},"layers":{"items":{"$ref":"#/components/schemas/AgentLayerResponse"},"type":"array","title":"Layers"},"identity":{"$ref":"#/components/schemas/AgentIdentityResponse"},"tools":{"items":{"$ref":"#/components/schemas/AgentToolResponse"},"type":"array","title":"Tools"},"limits":{"$ref":"#/components/schemas/AgentLimitsResponse"}},"type":"object","required":["function_profile","system_prompt","system_prompt_hash","layers","identity","tools","limits"],"title":"AgentContextResponse"},"AgentIdentityResponse":{"properties":{"user_alias":{"type":"string","title":"User Alias"},"group":{"type":"string","title":"Group"},"entity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity"},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area"},"active_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Active Area"},"effective_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Effective Area"},"authorized_area_root":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorized Area Root"},"area_focus_is_explicit":{"type":"boolean","title":"Area Focus Is Explicit","default":false},"profile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile"}},"type":"object","required":["user_alias","group"],"title":"AgentIdentityResponse"},"AgentLayerResponse":{"properties":{"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"sha256":{"type":"string","title":"Sha256"}},"type":"object","required":["code","name","sha256"],"title":"AgentLayerResponse"},"AgentLimitsResponse":{"properties":{"max_iterations":{"type":"integer","title":"Max Iterations","default":8},"max_retrieval_calls":{"type":"integer","title":"Max Retrieval Calls","default":8},"timeout_seconds":{"type":"integer","title":"Timeout Seconds","default":240}},"type":"object","title":"AgentLimitsResponse"},"AgentToolCallRequest":{"properties":{"arguments":{"additionalProperties":true,"type":"object","title":"Arguments"}},"type":"object","title":"AgentToolCallRequest"},"AgentToolRequest":{"properties":{"arguments":{"additionalProperties":true,"type":"object","title":"Arguments"},"function_profile":{"type":"string","title":"Function Profile","default":"user_chat"}},"type":"object","title":"AgentToolRequest"},"AgentToolResponse":{"properties":{"operation":{"type":"string","title":"Operation"},"public_name":{"type":"string","title":"Public Name"},"input_schema":{"additionalProperties":true,"type":"object","title":"Input Schema"},"read_only":{"type":"boolean","title":"Read Only","default":true}},"type":"object","required":["operation","public_name","input_schema"],"title":"AgentToolResponse"},"AlcanceDocumentacionBody":{"properties":{"tipo":{"type":"string","const":"TODAS","title":"Tipo","default":"TODAS"}},"additionalProperties":false,"type":"object","title":"AlcanceDocumentacionBody","description":"Qué debe recorrer el barrido documental. Hoy solo el barrido completo:\nuna función suelta ya tiene su puerta en ``/funciones/{codigo}/forzar-analisis``."},"AlertaCron":{"properties":{"nivel":{"type":"string","title":"Nivel"},"tipo":{"type":"string","title":"Tipo"},"mensaje":{"type":"string","title":"Mensaje"},"codigo_tipo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Proceso"}},"type":"object","required":["nivel","tipo","mensaje"],"title":"AlertaCron"},"AlertaLLM":{"properties":{"proveedor":{"type":"string","title":"Proveedor"},"modelo":{"type":"string","title":"Modelo"},"categoria":{"type":"string","title":"Categoria"},"mensaje":{"type":"string","title":"Mensaje"},"sugerencia":{"type":"string","title":"Sugerencia","default":""},"url_ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Ayuda"},"primera_aparicion":{"type":"string","title":"Primera Aparicion"},"ultima_aparicion":{"type":"string","title":"Ultima Aparicion"},"total_apariciones":{"type":"integer","title":"Total Apariciones"}},"type":"object","required":["proveedor","modelo","categoria","mensaje","primera_aparicion","ultima_aparicion","total_apariciones"],"title":"AlertaLLM","description":"Error fatal del provider LLM activo en el grupo. Se muestra como banner\nen /process-pipeline para que el admin actúe (subir spending cap, rotar\nAPI key, habilitar billing, etc.). Ver tabla `alertas_llm` (mig 521)."},"ApiKeyCifrada":{"properties":{"proveedor":{"type":"string","title":"Proveedor"},"es_key_casa":{"type":"boolean","title":"Es Key Casa","description":"True si la key viene del backend (settings); False si viene del grupo (parametros_grupo)."},"api_key":{"type":"string","title":"Api Key","description":"API key en plaintext (entregada por HTTPS). El Client la guarda en SQLite local."},"ciphertext":{"type":"string","title":"Ciphertext","description":"DEPRECADO desde 2026-05-07. Vacío.","default":""},"nonce":{"type":"string","title":"Nonce","description":"DEPRECADO desde 2026-05-07. Vacío.","default":""},"expira_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expira En","description":"ISO 8601. None = no expira (es key persistente). Reservado para Opción B futura."}},"type":"object","required":["proveedor","es_key_casa","api_key"],"title":"ApiKeyCifrada","description":"API key del LLM provider entregada al RAGfly Desktop.\n\nDecisión 2026-05-07: el endpoint entrega `api_key` en plaintext.\nRazón: el cifrado HKDF previo solo era descifrable por el backend (la\nmaster key vive solo en backend), por lo que el Client jamás podría\nhaber descifrado. La protección real es:\n  1. Tránsito: HTTPS.\n  2. Reposo en el Client: SQLite vive en ~/.ragfly/ con permisos del SO.\n\nLos campos ciphertext/nonce se mantienen en el schema por\nretrocompatibilidad pero ya no se usan (devueltos como cadenas vacías).\nSe quitarán en una futura versión."},"ApiKeyCreateRequest":{"properties":{"nombre":{"type":"string","title":"Nombre"},"rol_solicitado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rol Solicitado"},"codigo_usuario_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario Destino"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"},"codigo_estacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estacion"},"entidad_flexible":{"type":"boolean","title":"Entidad Flexible","default":false},"vigencia":{"type":"string","title":"Vigencia","default":"3m"},"fecha_inicio":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fecha Inicio"},"fecha_fin":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fecha Fin"}},"type":"object","required":["nombre"],"title":"ApiKeyCreateRequest"},"ApiKeyListItem":{"properties":{"id":{"type":"integer","title":"Id"},"prefijo":{"type":"string","title":"Prefijo"},"nombre":{"type":"string","title":"Nombre"},"codigo_usuario":{"type":"string","title":"Codigo Usuario"},"codigo_rol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Rol"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"},"codigo_area_activa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area Activa"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_estacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estacion"},"codigo_entidad_fija":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad Fija"},"codigo_entidad_activa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad Activa"},"creada_en":{"type":"string","title":"Creada En"},"ultimo_uso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultimo Uso"},"revocada_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revocada En"},"valida_desde":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valida Desde"},"expira_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expira En"},"origen":{"type":"string","title":"Origen","default":"MANUAL"},"cliente_oauth":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cliente Oauth"}},"type":"object","required":["id","prefijo","nombre","codigo_usuario","codigo_grupo","creada_en"],"title":"ApiKeyListItem"},"ApiKeyResponse":{"properties":{"api_key":{"type":"string","title":"Api Key"},"prefijo":{"type":"string","title":"Prefijo"},"nombre":{"type":"string","title":"Nombre"},"codigo_usuario":{"type":"string","title":"Codigo Usuario"},"codigo_rol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Rol"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_estacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estacion"},"codigo_entidad_fija":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad Fija"},"codigo_entidad_activa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad Activa"},"creada_en":{"type":"string","title":"Creada En"},"valida_desde":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valida Desde"},"expira_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expira En"}},"type":"object","required":["api_key","prefijo","nombre","codigo_usuario","codigo_grupo","creada_en"],"title":"ApiKeyResponse"},"AplicacionCreate":{"properties":{"codigo_aplicacion":{"type":"string","title":"Codigo Aplicacion"},"nombre":{"type":"string","title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso","default":"USUARIO"},"tipo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo","default":"APLICACION"},"aplicacion_padre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aplicacion Padre"}},"type":"object","required":["codigo_aplicacion","nombre"],"title":"AplicacionCreate"},"AplicacionResponse":{"properties":{"codigo_aplicacion":{"type":"string","title":"Codigo Aplicacion"},"nombre":{"type":"string","title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"tipo_acceso":{"type":"string","title":"Tipo Acceso","default":"USUARIO"},"tipo":{"type":"string","title":"Tipo","default":"APLICACION"},"aplicacion_padre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aplicacion Padre"},"sidebar_ancho":{"type":"boolean","title":"Sidebar Ancho","default":true},"orden":{"type":"integer","title":"Orden","default":0},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"}},"type":"object","required":["codigo_aplicacion","nombre"],"title":"AplicacionResponse"},"AplicacionResumen":{"properties":{"codigo_aplicacion":{"type":"string","title":"Codigo Aplicacion"},"nombre":{"type":"string","title":"Nombre"}},"type":"object","required":["codigo_aplicacion","nombre"],"title":"AplicacionResumen","description":"Resumen de una aplicación para el contexto del usuario."},"AplicacionUpdate":{"properties":{"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"tipo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo"},"aplicacion_padre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aplicacion Padre"},"sidebar_ancho":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sidebar Ancho"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"}},"type":"object","title":"AplicacionUpdate"},"AplicarClusterRequest":{"properties":{"canonico":{"anyOf":[{"$ref":"#/components/schemas/CanonicoCluster"},{"type":"null"}]},"fusiona_ids":{"items":{"type":"integer"},"type":"array","title":"Fusiona Ids","default":[]},"ya_existe_como":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ya Existe Como"},"confianza":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Confianza"},"motivo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Motivo"},"codigos_absorbidos":{"items":{"type":"string"},"type":"array","title":"Codigos Absorbidos"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"campana":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Campana"}},"type":"object","title":"AplicarClusterRequest","description":"Body para POST /propuestas-catalogo/consolidar/aplicar.\n\nConfirma manualmente un cluster (típicamente uno MEDIA/BAJA que el auto no aplicó)."},"AppDeRolBody":{"properties":{"codigo_aplicacion":{"type":"string","title":"Codigo Aplicacion"}},"type":"object","required":["codigo_aplicacion"],"title":"AppDeRolBody"},"ArchivoParaCargar":{"properties":{"nombre":{"type":"string","title":"Nombre"},"ruta_completa":{"type":"string","title":"Ruta Completa"},"ruta_directorio":{"type":"string","title":"Ruta Directorio"},"tamano_kb":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tamano Kb"},"fecha_modificacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Modificacion"},"id_fuente":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id Fuente"}},"type":"object","required":["nombre","ruta_completa","ruta_directorio"],"title":"ArchivoParaCargar"},"AreaCreate":{"properties":{"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"nombre_area":{"type":"string","title":"Nombre Area"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"codigo_area_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area Superior"}},"type":"object","required":["nombre_area"],"title":"AreaCreate"},"AreaResponse":{"properties":{"codigo_area":{"type":"string","title":"Codigo Area"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_entidad":{"type":"string","title":"Codigo Entidad"},"nombre_area":{"type":"string","title":"Nombre Area"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"codigo_ubicacion_origen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion Origen"},"codigo_area_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area Superior"},"nivel":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Nivel"}},"type":"object","required":["codigo_area","codigo_grupo","codigo_entidad","nombre_area"],"title":"AreaResponse"},"AreaUpdate":{"properties":{"nombre_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Area"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"codigo_area_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area Superior"}},"type":"object","title":"AreaUpdate"},"AsignarFuncionCaracteristica":{"properties":{"codigo_funcion":{"type":"string","title":"Codigo Funcion"}},"type":"object","required":["codigo_funcion"],"title":"AsignarFuncionCaracteristica"},"AsignarFuncionPlan":{"properties":{"codigo_funcion":{"type":"string","title":"Codigo Funcion"}},"type":"object","required":["codigo_funcion"],"title":"AsignarFuncionPlan"},"AsignarUbicacionRequest":{"properties":{"codigo_ubicacion":{"type":"string","title":"Codigo Ubicacion"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"}},"type":"object","required":["codigo_ubicacion"],"title":"AsignarUbicacionRequest"},"AskRequest":{"properties":{"question":{"type":"string","title":"Question"},"conversation_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conversation Id"},"function_code":{"type":"string","title":"Function Code","default":"CHAT-USER"},"mode":{"type":"string","enum":["default","help"],"title":"Mode","default":"default"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"location_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Code","description":"Temporarily restrict the answer to a visible folder and its descendants; invisible folders return 404."}},"type":"object","required":["question"],"title":"AskRequest"},"AttributeFilter":{"properties":{"operator":{"type":"string","enum":["EQ","CONTAINS","RANGE"],"title":"Operator"},"value":{"anyOf":[{"type":"string","maxLength":500,"minLength":1},{"type":"null"}],"title":"Value"},"from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"From"},"to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"To"},"field":{"type":"string","enum":["location","name","format","language","origin","modified"],"title":"Field","description":"location = folder or path, name = file name, format = file type (pdf, xlsx…), language = two-letter code (es, en…), origin = where it came from, modified = last-modified date of the file."}},"additionalProperties":false,"type":"object","required":["operator","field"],"title":"AttributeFilter","description":"A property of the FILE (not of its content)."},"AusenciasObservadasRequest":{"properties":{"codigos_documento":{"items":{"type":"string"},"type":"array","maxItems":200,"title":"Codigos Documento"},"archivos_vistos":{"type":"integer","title":"Archivos Vistos","default":0},"codigo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"}},"type":"object","required":["codigos_documento"],"title":"AusenciasObservadasRequest"},"AusenciasObservadasResponse":{"properties":{"marcados":{"type":"integer","title":"Marcados"},"purgados":{"type":"integer","title":"Purgados"},"reaparecidos":{"type":"integer","title":"Reaparecidos","default":0},"omitidos":{"type":"integer","title":"Omitidos","default":0}},"type":"object","required":["marcados","purgados"],"title":"AusenciasObservadasResponse"},"AvanzarCorridaFuenteRequest":{"properties":{"numero_evento":{"type":"integer","minimum":1.0,"title":"Numero Evento"},"evento":{"type":"string","enum":["INICIAR","INVENTARIO_RECIBIDO","EXTRACCION_COMPLETA","PIPELINE_TERMINAL"],"title":"Evento"},"lote":{"anyOf":[{"$ref":"#/components/schemas/LoteFuenteRequest"},{"type":"null"}]},"contenidos_preparados":{"items":{"$ref":"#/components/schemas/ContenidoPreparadoRequest"},"type":"array","title":"Contenidos Preparados"}},"additionalProperties":false,"type":"object","required":["numero_evento","evento"],"title":"AvanzarCorridaFuenteRequest"},"BarridoRevisionRequest":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"}},"type":"object","required":["codigo_proceso"],"title":"BarridoRevisionRequest"},"Body_doc_documento_documentos__codigo_documento__doc_post":{"properties":{"archivo":{"type":"string","contentMediaType":"application/octet-stream","title":"Archivo"}},"type":"object","required":["archivo"],"title":"Body_doc_documento_documentos__codigo_documento__doc_post"},"Body_ocr_documento_documentos__codigo_documento__ocr_post":{"properties":{"archivo":{"type":"string","contentMediaType":"application/octet-stream","title":"Archivo"}},"type":"object","required":["archivo"],"title":"Body_ocr_documento_documentos__codigo_documento__ocr_post"},"BucketUsoLLMEntrada":{"properties":{"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"codigo_usuario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario"},"codigo_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"},"codigo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso"},"codigo_categoria_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Proceso"},"codigo_ejecucion":{"type":"string","title":"Codigo Ejecucion"},"tipo_ejecucion":{"type":"string","title":"Tipo Ejecucion"},"codigo_habilidad":{"type":"string","title":"Codigo Habilidad"},"tipo_unidad":{"type":"string","title":"Tipo Unidad"},"id_turno":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id Turno"},"proveedor":{"type":"string","title":"Proveedor"},"modelo":{"type":"string","title":"Modelo"},"tarifa_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tarifa Id"},"clave_agregacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clave Agregacion"},"cantidad_llamadas":{"type":"integer","minimum":0.0,"title":"Cantidad Llamadas","default":0},"cantidad_unidades":{"type":"integer","minimum":0.0,"title":"Cantidad Unidades","default":0},"cantidad_exitos":{"type":"integer","minimum":0.0,"title":"Cantidad Exitos","default":0},"cantidad_errores":{"type":"integer","minimum":0.0,"title":"Cantidad Errores","default":0},"tokens_input":{"type":"integer","minimum":0.0,"title":"Tokens Input","default":0},"tokens_output":{"type":"integer","minimum":0.0,"title":"Tokens Output","default":0},"tokens_cache_read":{"type":"integer","minimum":0.0,"title":"Tokens Cache Read","default":0},"tokens_cache_write":{"type":"integer","minimum":0.0,"title":"Tokens Cache Write","default":0},"duracion_total_ms":{"type":"integer","minimum":0.0,"title":"Duracion Total Ms","default":0},"duracion_max_ms":{"type":"integer","minimum":0.0,"title":"Duracion Max Ms","default":0},"ultimo_codigo_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultimo Codigo Error"},"ultimo_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultimo Error"},"uso_key_casa":{"type":"boolean","title":"Uso Key Casa","default":false}},"type":"object","required":["codigo_ejecucion","tipo_ejecucion","codigo_habilidad","tipo_unidad","proveedor","modelo"],"title":"BucketUsoLLMEntrada","description":"Un bucket agregado (ejecución+habilidad+proveedor+modelo+contexto) tal\ncomo lo produce `AcumuladorUsoLLM.drenar()`. Sin `costo_estimado_usd`: el\nservidor resuelve la tarifa vigente y calcula el costo — nunca confía en\nel cliente para pricing (el Desktop no sincroniza `llm_precios`)."},"BusquedaSemanticaRequest":{"properties":{"q":{"type":"string","title":"Q"},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"},"min_similitud":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Similitud"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"codigo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"},"id_espacio":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Espacio"},"ids_documento":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ids Documento"},"criterio":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Criterio"}},"type":"object","required":["q"],"title":"BusquedaSemanticaRequest"},"CambiarAdicionalCorpusRequest":{"properties":{"cantidad":{"type":"integer","title":"Cantidad"}},"type":"object","required":["cantidad"],"title":"CambiarAdicionalCorpusRequest"},"CambiarAplicacionRequest":{"properties":{"codigo_aplicacion":{"type":"string","title":"Codigo Aplicacion"}},"type":"object","required":["codigo_aplicacion"],"title":"CambiarAplicacionRequest"},"CambiarEntidadRequest":{"properties":{"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}},"type":"object","required":["codigo_entidad"],"title":"CambiarEntidadRequest"},"CambiarGrupoBody":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"}},"type":"object","required":["codigo_grupo"],"title":"CambiarGrupoBody"},"CambiarGrupoRequest":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"}},"type":"object","required":["codigo_grupo"],"title":"CambiarGrupoRequest"},"CambiarPlanRequest":{"properties":{"codigo_plan":{"type":"string","title":"Codigo Plan"}},"type":"object","required":["codigo_plan"],"title":"CambiarPlanRequest"},"CambiarTipoUbicacionRequest":{"properties":{"tipo_ubicacion":{"type":"string","title":"Tipo Ubicacion"}},"type":"object","required":["tipo_ubicacion"],"title":"CambiarTipoUbicacionRequest"},"CampoTraducible":{"properties":{"campo_logico":{"type":"string","title":"Campo Logico"},"campo_fisico":{"type":"string","title":"Campo Fisico"}},"type":"object","required":["campo_logico","campo_fisico"],"title":"CampoTraducible"},"CamposTraduciblesUpdate":{"properties":{"campos":{"items":{"$ref":"#/components/schemas/CampoTraducible"},"type":"array","title":"Campos"}},"type":"object","required":["campos"],"title":"CamposTraduciblesUpdate"},"CancelarCorridaFuenteRequest":{"properties":{"numero_evento":{"type":"integer","minimum":1.0,"title":"Numero Evento"}},"additionalProperties":false,"type":"object","required":["numero_evento"],"title":"CancelarCorridaFuenteRequest"},"CancelarFeedbackRequest":{"properties":{"motivo":{"type":"string","title":"Motivo"},"detalle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detalle"}},"type":"object","required":["motivo"],"title":"CancelarFeedbackRequest"},"CandidatosDocumento":{"properties":{"codigo_documento":{"type":"string","title":"Codigo Documento"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"candidatos":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Candidatos"}},"type":"object","required":["codigo_documento","codigo_grupo","candidatos"],"title":"CandidatosDocumento"},"CanonicoCluster":{"properties":{"codigo":{"type":"string","title":"Codigo"},"nombre":{"type":"string","title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","required":["codigo","nombre"],"title":"CanonicoCluster"},"CaracteristicaBase":{"properties":{"codigo_caracteristica":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Caracteristica"},"nombre":{"type":"string","title":"Nombre"},"tipo_caracteristica":{"type":"string","title":"Tipo Caracteristica"},"unidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unidad"},"orden":{"type":"integer","title":"Orden","default":0},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","required":["nombre","tipo_caracteristica"],"title":"CaracteristicaBase"},"CaracteristicaDocumentoCreate":{"properties":{"codigo_cat_docs":{"type":"string","title":"Codigo Cat Docs"},"codigo_tipo_docs":{"type":"string","title":"Codigo Tipo Docs"},"valor_texto_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Texto Docs"},"valor_numerico_docs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Valor Numerico Docs"},"valor_fecha_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Fecha Docs"},"comentarios":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comentarios"}},"type":"object","required":["codigo_cat_docs","codigo_tipo_docs"],"title":"CaracteristicaDocumentoCreate"},"CaracteristicaDocumentoResponse":{"properties":{"id_caracteristica_docs":{"type":"integer","title":"Id Caracteristica Docs"},"codigo_documento":{"type":"string","title":"Codigo Documento"},"codigo_cat_docs":{"type":"string","title":"Codigo Cat Docs"},"codigo_tipo_docs":{"type":"string","title":"Codigo Tipo Docs"},"valor_texto_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Texto Docs"},"valor_numerico_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Numerico Docs"},"valor_fecha_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Fecha Docs"},"comentarios":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comentarios"}},"type":"object","required":["id_caracteristica_docs","codigo_documento","codigo_cat_docs","codigo_tipo_docs"],"title":"CaracteristicaDocumentoResponse"},"CaracteristicaDocumentoUpdate":{"properties":{"codigo_tipo_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Docs"},"valor_texto_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Texto Docs"},"valor_numerico_docs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Valor Numerico Docs"},"valor_fecha_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Fecha Docs"},"comentarios":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comentarios"}},"type":"object","title":"CaracteristicaDocumentoUpdate"},"CaracteristicaPersonaCreate":{"properties":{"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_cat_pers":{"type":"string","title":"Codigo Cat Pers"},"codigo_tipo_pers":{"type":"string","title":"Codigo Tipo Pers"},"valor_texto_pers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Texto Pers"},"valor_numerico_pers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Valor Numerico Pers"},"valor_fecha_pers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Fecha Pers"}},"type":"object","required":["codigo_cat_pers","codigo_tipo_pers"],"title":"CaracteristicaPersonaCreate"},"CaracteristicaPersonaResponse":{"properties":{"id_caracteristica_pers":{"type":"integer","title":"Id Caracteristica Pers"},"id_persona":{"type":"integer","title":"Id Persona"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_cat_pers":{"type":"string","title":"Codigo Cat Pers"},"codigo_tipo_pers":{"type":"string","title":"Codigo Tipo Pers"},"valor_texto_pers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Texto Pers"},"valor_numerico_pers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Valor Numerico Pers"},"valor_fecha_pers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Fecha Pers"}},"type":"object","required":["id_caracteristica_pers","id_persona","codigo_grupo","codigo_cat_pers","codigo_tipo_pers"],"title":"CaracteristicaPersonaResponse"},"CaracteristicaPersonaUpdate":{"properties":{"codigo_tipo_pers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Pers"},"valor_texto_pers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Texto Pers"},"valor_numerico_pers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Valor Numerico Pers"},"valor_fecha_pers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Fecha Pers"}},"type":"object","title":"CaracteristicaPersonaUpdate"},"CaracteristicaPlan":{"properties":{"codigo_plan":{"type":"string","title":"Codigo Plan"},"codigo_caracteristica":{"type":"string","title":"Codigo Caracteristica"},"incluido":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Incluido"},"cantidad_incluida":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cantidad Incluida"},"accion_al_topar":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accion Al Topar"},"precio_overage_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precio Overage Usd"},"precio_overage_usd_hires":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precio Overage Usd Hires"},"unidad_overage":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Unidad Overage"},"modo_gating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modo Gating"}},"type":"object","required":["codigo_plan","codigo_caracteristica"],"title":"CaracteristicaPlan"},"CaracteristicaSugerida":{"properties":{"codigo_cat_docs":{"type":"string","title":"Codigo Cat Docs"},"codigo_tipo_docs":{"type":"string","title":"Codigo Tipo Docs"},"nombre_tipo_docs":{"type":"string","title":"Nombre Tipo Docs"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"max_por_tipo":{"type":"integer","title":"Max Por Tipo","default":1},"existe":{"type":"boolean","title":"Existe","default":false}},"type":"object","required":["codigo_cat_docs","codigo_tipo_docs","nombre_tipo_docs"],"title":"CaracteristicaSugerida","description":"Una característica que PROPONER_TIPO_NUEVO sugiere para el tipo propuesto.\n\nVive dentro de `evidencia.caracteristicas_sugeridas`. La CATEGORÍA es de un\nset cerrado; el TIPO puede ser nuevo (`existe=false`) y en ese caso se crea\nal aprobar (trigger fn_propuesta_aprobada_materializar, mig 1151)."},"CaracteristicaSync":{"properties":{"codigo_documento":{"type":"string","title":"Codigo Documento"},"codigo_cat_docs":{"type":"string","title":"Codigo Cat Docs"},"codigo_tipo_docs":{"type":"string","title":"Codigo Tipo Docs"},"valor_texto_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Texto Docs"},"valor_numerico_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Numerico Docs"},"valor_fecha_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Fecha Docs"},"comentarios":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comentarios"}},"type":"object","required":["codigo_documento","codigo_cat_docs","codigo_tipo_docs"],"title":"CaracteristicaSync"},"CaracteristicaUpdate":{"properties":{"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"tipo_caracteristica":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Caracteristica"},"unidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unidad"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","title":"CaracteristicaUpdate"},"CargaDocumentosRequest":{"properties":{"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"codigo_fuente_ingesta":{"type":"string","enum":["FILES","GOOGLE_DRIVE","DROPBOX"],"title":"Codigo Fuente Ingesta","default":"FILES"},"archivos":{"items":{"$ref":"#/components/schemas/ArchivoParaCargar"},"type":"array","title":"Archivos"}},"type":"object","required":["archivos"],"title":"CargaDocumentosRequest"},"CargaDocumentosResponse":{"properties":{"insertados":{"type":"integer","title":"Insertados"},"actualizados":{"type":"integer","title":"Actualizados"},"revertidos":{"type":"integer","title":"Revertidos","default":0},"eliminados":{"type":"integer","title":"Eliminados","default":0},"total":{"type":"integer","title":"Total"}},"type":"object","required":["insertados","actualizados","total"],"title":"CargaDocumentosResponse"},"CargaPrioritariaResponse":{"properties":{"codigo_documento":{"type":"string","title":"Codigo Documento"},"nombre_documento":{"type":"string","title":"Nombre Documento"},"codigo_estado_doc":{"type":"string","title":"Codigo Estado Doc"},"accion":{"type":"string","title":"Accion"},"creado":{"type":"boolean","title":"Creado","default":false}},"type":"object","required":["codigo_documento","nombre_documento","codigo_estado_doc","accion"],"title":"CargaPrioritariaResponse"},"CatalogoSyncResponse":{"properties":{"version":{"type":"string","title":"Version","description":"Época del contrato: 1 legacy, 2 identidades neutras.","default":"1"},"generado_en":{"type":"string","title":"Generado En","description":"Timestamp ISO 8601 del momento del sync."},"codigo_grupo":{"type":"string","title":"Codigo Grupo","description":"Grupo activo del usuario al momento del sync."},"codigo_usuario":{"type":"string","title":"Codigo Usuario"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad","description":"Entidad activa cuyo catálogo efectivo se entregó."},"tipificacion":{"$ref":"#/components/schemas/TipificacionSync"},"habilidades":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Habilidades"},"modelos":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Modelos"},"precios":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Precios"},"api_keys":{"items":{"$ref":"#/components/schemas/ApiKeyCifrada"},"type":"array","title":"Api Keys"},"transiciones":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Transiciones"},"tipos_documento":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Tipos Documento"},"categorias_caract_docs":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Categorias Caract Docs"},"tipos_caract_docs":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Tipos Caract Docs"},"rel_tipo_documento_caracteristica":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Rel Tipo Documento Caracteristica"},"rel_tipo_documento_categoria":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Rel Tipo Documento Categoria"},"idioma_por_entidad":{"additionalProperties":{"type":"string"},"type":"object","title":"Idioma Por Entidad","description":"PREFERENCIAS/IDIOMA resuelto (entidad → grupo → general) para cada entidad del grupo activo que el usuario puede pisar: código → idioma."},"idioma_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idioma Grupo","description":"PREFERENCIAS/IDIOMA del grupo activo (grupo → general): respaldo para una entidad que no venga en idioma_por_entidad."},"parametros":{"additionalProperties":{"type":"string"},"type":"object","title":"Parametros","description":"Parámetros generales relevantes para el pipeline del RAGfly Desktop, como '<CATEGORIA>.<TIPO>' → valor. Ej: 'PROCESAMIENTO.TAMAÑO_MAXIMO_ARCHIVO' → '500' (MB)."},"extensiones_incluir":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Extensiones Incluir","description":"Allow-list efectiva de CARGAR para el grupo y entidad activos, sin puntos y en minúsculas. None representa '*' (todas las extensiones)."},"extensiones_excluir":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Extensiones Excluir","description":"Deny-list efectiva de CARGAR para el grupo y entidad activos, sin puntos y en minúsculas — se aplica DESPUÉS de extensiones_incluir. None representa '-' (ninguna exclusión)."},"conservar_texto_fuente":{"type":"boolean","title":"Conservar Texto Fuente","description":"CONFIG_BASICA_RAG/CONSERVAR_TEXTO_FUENTE ya RESUELTO por la cascada entidad→grupo→general. El Desktop no tiene esa cascada (solo le bajan los parametros_generales), así que leerlo por su cuenta le daba el valor del sistema e ignoraba el del grupo: un grupo con 'true' veía 'false' y purgaba el texto al chunkear. Mismo patrón que `extensiones_incluir`: la política se resuelve en Cloud y baja resuelta.","default":false},"contexto_organizacion":{"type":"string","title":"Contexto Organizacion","description":"Bloque de system prompt resuelto para alcance ORGANIZATION (grupo y entidad) del usuario activo.","default":""},"contexto_full":{"type":"string","title":"Contexto Full","description":"Bloque de system prompt resuelto para alcance FULL: organización, área, rol principal, posición y usuario activo.","default":""}},"type":"object","required":["generado_en","codigo_grupo","codigo_usuario","habilidades","modelos","precios","api_keys"],"title":"CatalogoSyncResponse"},"CategoriaAsignar":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"}},"type":"object","required":["codigo_categoria_proceso"],"title":"CategoriaAsignar"},"CategoriaCaractDocsCreate":{"properties":{"codigo_cat_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Cat Docs"},"nombre_cat_docs":{"type":"string","title":"Nombre Cat Docs"},"descripcion_cat_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Cat Docs"},"es_unica_docs":{"type":"boolean","title":"Es Unica Docs","default":false},"editable_en_detalle_docs":{"type":"boolean","title":"Editable En Detalle Docs","default":true},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"}},"type":"object","required":["nombre_cat_docs"],"title":"CategoriaCaractDocsCreate"},"CategoriaCaractDocsResponse":{"properties":{"codigo_cat_docs":{"type":"string","title":"Codigo Cat Docs"},"nombre_cat_docs":{"type":"string","title":"Nombre Cat Docs"},"descripcion_cat_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Cat Docs"},"es_unica_docs":{"type":"boolean","title":"Es Unica Docs"},"editable_en_detalle_docs":{"type":"boolean","title":"Editable En Detalle Docs"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"orden":{"type":"integer","title":"Orden","default":0},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"}},"type":"object","required":["codigo_cat_docs","nombre_cat_docs","es_unica_docs","editable_en_detalle_docs"],"title":"CategoriaCaractDocsResponse"},"CategoriaCaractDocsUpdate":{"properties":{"nombre_cat_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Cat Docs"},"descripcion_cat_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Cat Docs"},"es_unica_docs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Es Unica Docs"},"editable_en_detalle_docs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Editable En Detalle Docs"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"}},"type":"object","title":"CategoriaCaractDocsUpdate"},"CategoriaCaractPersCreate":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_cat_pers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Cat Pers"},"nombre_cat_pers":{"type":"string","title":"Nombre Cat Pers"},"descripcion_cat_pers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Cat Pers"},"es_unica_pers":{"type":"boolean","title":"Es Unica Pers","default":false},"editable_en_detalle_pers":{"type":"boolean","title":"Editable En Detalle Pers","default":true}},"type":"object","required":["codigo_grupo","nombre_cat_pers"],"title":"CategoriaCaractPersCreate"},"CategoriaCaractPersResponse":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_cat_pers":{"type":"string","title":"Codigo Cat Pers"},"nombre_cat_pers":{"type":"string","title":"Nombre Cat Pers"},"descripcion_cat_pers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Cat Pers"},"es_unica_pers":{"type":"boolean","title":"Es Unica Pers"},"editable_en_detalle_pers":{"type":"boolean","title":"Editable En Detalle Pers"}},"type":"object","required":["codigo_grupo","codigo_cat_pers","nombre_cat_pers","es_unica_pers","editable_en_detalle_pers"],"title":"CategoriaCaractPersResponse"},"CategoriaCaractPersUpdate":{"properties":{"nombre_cat_pers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Cat Pers"},"descripcion_cat_pers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Cat Pers"},"es_unica_pers":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Es Unica Pers"},"editable_en_detalle_pers":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Editable En Detalle Pers"}},"type":"object","title":"CategoriaCaractPersUpdate"},"CategoriaCreate":{"properties":{"categoria_parametro":{"type":"string","title":"Categoria Parametro"},"nombre":{"type":"string","title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"replica_grupo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Replica Grupo"},"visible_grupo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Visible Grupo"},"editable_grupo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Editable Grupo"},"replica_entidad":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Replica Entidad"},"visible_entidad":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Visible Entidad"},"editable_entidad":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Editable Entidad"},"replica_usuario":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Replica Usuario"},"visible_usuario":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Visible Usuario"},"editable_usuario":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Editable Usuario"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"}},"type":"object","required":["categoria_parametro","nombre"],"title":"CategoriaCreate"},"CategoriaOrden":{"properties":{"codigo":{"type":"string","title":"Codigo"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["codigo","orden"],"title":"CategoriaOrden"},"CategoriaProcesCreate":{"properties":{"codigo_categoria_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Categoria Proceso"},"nombre_categoria_proceso":{"type":"string","title":"Nombre Categoria Proceso"},"descripcion_categoria_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Categoria Proceso"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"codigo_categoria_proceso_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Categoria Proceso Superior"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"}},"type":"object","required":["nombre_categoria_proceso"],"title":"CategoriaProcesCreate"},"CategoriaProcesUpdate":{"properties":{"nombre_categoria_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Categoria Proceso"},"descripcion_categoria_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Categoria Proceso"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"codigo_categoria_proceso_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Categoria Proceso Superior"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"}},"type":"object","title":"CategoriaProcesUpdate"},"CategoriaProcesoAppAsignar":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"}},"type":"object","required":["codigo_categoria_proceso"],"title":"CategoriaProcesoAppAsignar"},"CategoriaProcesoAppOrden":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["codigo_categoria_proceso","orden"],"title":"CategoriaProcesoAppOrden"},"CategoriaProcesoAsignar":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"}},"type":"object","required":["codigo_categoria_proceso"],"title":"CategoriaProcesoAsignar"},"CategoriaProcesoOrden":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["codigo_categoria_proceso","orden"],"title":"CategoriaProcesoOrden"},"CategoriaTareaCreate":{"properties":{"codigo_categoria_tarea":{"type":"string","title":"Codigo Categoria Tarea"},"nombre_categoria_tarea":{"type":"string","title":"Nombre Categoria Tarea"},"descripcion_categoria_tarea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Categoria Tarea"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"generacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generacion"},"programa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Programa"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"}},"type":"object","required":["codigo_categoria_tarea","nombre_categoria_tarea"],"title":"CategoriaTareaCreate"},"CategoriaTareaUpdate":{"properties":{"nombre_categoria_tarea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Categoria Tarea"},"descripcion_categoria_tarea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Categoria Tarea"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"generacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generacion"},"programa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Programa"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"}},"type":"object","title":"CategoriaTareaUpdate"},"CategoriaTipoDocumentoResumen":{"properties":{"codigo_cat_docs":{"type":"string","title":"Codigo Cat Docs"},"nombre_cat_docs":{"type":"string","title":"Nombre Cat Docs"},"orden":{"type":"integer","title":"Orden"},"max_por_categoria":{"type":"integer","title":"Max Por Categoria"},"tipos_caracteristica":{"items":{"$ref":"#/components/schemas/TipoCaracteristicaResumen"},"type":"array","title":"Tipos Caracteristica","default":[]}},"type":"object","required":["codigo_cat_docs","nombre_cat_docs","orden","max_por_categoria"],"title":"CategoriaTipoDocumentoResumen"},"CategoriaUpdate":{"properties":{"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"replica_grupo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Replica Grupo"},"visible_grupo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Visible Grupo"},"editable_grupo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Editable Grupo"},"replica_entidad":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Replica Entidad"},"visible_entidad":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Visible Entidad"},"editable_entidad":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Editable Entidad"},"replica_usuario":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Replica Usuario"},"visible_usuario":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Visible Usuario"},"editable_usuario":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Editable Usuario"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"}},"type":"object","title":"CategoriaUpdate"},"CerrarColaResponse":{"properties":{"eliminados":{"type":"integer","title":"Eliminados"}},"type":"object","required":["eliminados"],"title":"CerrarColaResponse"},"CharacteristicFilter":{"properties":{"operator":{"type":"string","enum":["EQ","CONTAINS","RANGE"],"title":"Operator"},"value":{"anyOf":[{"type":"string","maxLength":500,"minLength":1},{"type":"null"}],"title":"Value"},"from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"From"},"to":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"To"},"category_code":{"type":"string","maxLength":160,"minLength":1,"title":"Category Code"},"characteristic_code":{"type":"string","maxLength":160,"minLength":1,"title":"Characteristic Code","description":"Codes come from GET /v1/catalog/characteristics."}},"additionalProperties":false,"type":"object","required":["operator","category_code","characteristic_code"],"title":"CharacteristicFilter","description":"A data point from the document CONTENT (an issue date, an amount, an ID, a person…)."},"CheckoutRequest":{"properties":{"codigo_plan":{"type":"string","title":"Codigo Plan"}},"type":"object","required":["codigo_plan"],"title":"CheckoutRequest"},"ChunkDocumento":{"properties":{"id_chunk":{"type":"integer","title":"Id Chunk"},"nro_chunk":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Nro Chunk"},"texto":{"anyOf":[{"type":"string"},{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Texto"},"n_chars":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"N Chars"},"n_tokens_aprox":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"N Tokens Aprox"},"pagina":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pagina"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"modelo_embedding":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modelo Embedding"},"fecha_embedding":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Embedding"},"match_inicio":{"type":"integer","title":"Match Inicio","default":-1},"match_fin":{"type":"integer","title":"Match Fin","default":-1}},"type":"object","required":["id_chunk"],"title":"ChunkDocumento"},"ChunkSync":{"properties":{"codigo_documento":{"type":"string","title":"Codigo Documento"},"nro_chunk":{"type":"integer","title":"Nro Chunk"},"texto":{"type":"string","title":"Texto"},"n_chars":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"N Chars"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"embedding":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Embedding"},"embedding_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Embedding B64"},"modelo_embedding":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modelo Embedding"}},"type":"object","required":["codigo_documento","nro_chunk","texto"],"title":"ChunkSync"},"ChunksBusqueda":{"properties":{"q":{"type":"string","title":"Q"},"total_filtrado":{"type":"integer","title":"Total Filtrado"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"}},"type":"object","required":["q","total_filtrado","page","limit"],"title":"ChunksBusqueda"},"ChunksDocumento":{"properties":{"codigo_documento":{"type":"string","title":"Codigo Documento"},"nombre_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Documento"},"codigo_estado_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Doc"}},"type":"object","required":["codigo_documento"],"title":"ChunksDocumento"},"ChunksDocumentoResponse":{"properties":{"documento":{"$ref":"#/components/schemas/ChunksDocumento"},"stats":{"$ref":"#/components/schemas/ChunksEstadisticas"},"busqueda":{"$ref":"#/components/schemas/ChunksBusqueda"},"chunks":{"items":{"$ref":"#/components/schemas/ChunkDocumento"},"type":"array","title":"Chunks"}},"type":"object","required":["documento","stats","busqueda","chunks"],"title":"ChunksDocumentoResponse"},"ChunksEstadisticas":{"properties":{"total_chunks":{"type":"integer","title":"Total Chunks"},"n_chars_total":{"type":"integer","title":"N Chars Total"},"avg_chars":{"type":"integer","title":"Avg Chars"},"vectorizado":{"type":"boolean","title":"Vectorizado"}},"type":"object","required":["total_chunks","n_chars_total","avg_chars","vectorizado"],"title":"ChunksEstadisticas"},"ClienteReleasePublicar":{"properties":{"version":{"type":"string","minLength":1,"title":"Version"},"version_min_compatible":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version Min Compatible"},"obligatoria":{"type":"boolean","title":"Obligatoria","default":false},"notas":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notas"},"url_descarga_macos":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Descarga Macos"},"url_descarga_windows":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Descarga Windows"},"url_payload":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Payload"},"sha256_payload":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{64}$"},{"type":"null"}],"title":"Sha256 Payload"},"firma_payload":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firma Payload"},"shell_min":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shell Min"}},"type":"object","required":["version"],"title":"ClienteReleasePublicar","description":"Contrato que el workflow de Desktop publica en cada ambiente."},"ClienteVista":{"properties":{"tipo":{"type":"string","enum":["CIMD","DCR","SEMILLA"],"title":"Tipo"},"identidad":{"type":"string","title":"Identidad"},"nombre_declarado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Declarado"},"verificado":{"type":"boolean","title":"Verificado"},"client_id":{"type":"string","title":"Client Id"}},"type":"object","required":["tipo","identidad","verificado","client_id"],"title":"ClienteVista"},"ColaEstadoDocResponse":{"properties":{"id_cola":{"type":"integer","title":"Id Cola"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_documento":{"type":"string","title":"Codigo Documento"},"codigo_estado_doc_origen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Doc Origen"},"codigo_estado_doc_destino":{"type":"string","title":"Codigo Estado Doc Destino"},"estado_cola":{"type":"string","title":"Estado Cola"},"prioridad":{"type":"integer","title":"Prioridad","default":0},"fecha_cola":{"type":"string","title":"Fecha Cola"},"fecha_inicio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Inicio"},"fecha_fin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Fin"},"codigo_usuario":{"type":"string","title":"Codigo Usuario"},"resultado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resultado"},"intentos":{"type":"integer","title":"Intentos","default":0},"codigo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso"},"codigo_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"},"opciones":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Opciones"},"modo_procesamiento":{"type":"string","title":"Modo Procesamiento","default":"CLOUD"},"documentos":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Documentos"}},"type":"object","required":["id_cola","codigo_grupo","codigo_documento","codigo_estado_doc_destino","estado_cola","fecha_cola","codigo_usuario"],"title":"ColaEstadoDocResponse"},"ColaPaginadaResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ColaEstadoDocResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"}},"type":"object","required":["items","total","page","limit"],"title":"ColaPaginadaResponse"},"CompilarCorpusRequest":{"properties":{"codigo_implementacion":{"type":"string","title":"Codigo Implementacion"},"version":{"type":"integer","minimum":1.0,"title":"Version"},"solo_validar":{"type":"boolean","title":"Solo Validar","default":false}},"type":"object","required":["codigo_implementacion","version"],"title":"CompilarCorpusRequest"},"CompilarEspacioRequest":{"properties":{"codigo_habilidad_hoja":{"type":"string","title":"Codigo Habilidad Hoja","default":"CONSOLIDAR_BATCH"},"parametros":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Parametros"}},"type":"object","title":"CompilarEspacioRequest"},"CompilarRequest":{"properties":{"tabla":{"type":"string","title":"Tabla"},"pk_columna":{"type":"string","title":"Pk Columna"},"pk_valor":{"type":"string","title":"Pk Valor"},"lenguaje":{"type":"string","title":"Lenguaje","default":"python"},"forzar":{"type":"boolean","title":"Forzar","default":false},"prompt_insert_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert Content"},"prompt_update_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update Content"}},"type":"object","required":["tabla","pk_columna","pk_valor"],"title":"CompilarRequest"},"CompilarResponse":{"properties":{"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"tabla":{"type":"string","title":"Tabla"},"pk_valor":{"type":"string","title":"Pk Valor"}},"type":"object","required":["tabla","pk_valor"],"title":"CompilarResponse"},"ComposeRequest":{"properties":{"operation":{"type":"string","title":"Operation"},"space_id_a":{"type":"integer","title":"Space Id A"},"space_id_b":{"type":"integer","title":"Space Id B"},"name":{"type":"string","title":"Name","default":""},"space_type":{"type":"string","title":"Space Type","default":"AREA"}},"type":"object","required":["operation","space_id_a","space_id_b"],"title":"ComposeRequest"},"ComposicionResponse":{"properties":{"id_espacio":{"type":"integer","title":"Id Espacio"},"n_docs":{"type":"integer","title":"N Docs"},"nombre_espacio":{"type":"string","title":"Nombre Espacio"},"operacion":{"type":"string","title":"Operacion"},"id_espacio_a":{"type":"integer","title":"Id Espacio A"},"id_espacio_b":{"type":"integer","title":"Id Espacio B"}},"type":"object","required":["id_espacio","n_docs","nombre_espacio","operacion","id_espacio_a","id_espacio_b"],"title":"ComposicionResponse"},"ComprarPackRequest":{"properties":{"codigo_caracteristica":{"type":"string","title":"Codigo Caracteristica"}},"type":"object","required":["codigo_caracteristica"],"title":"ComprarPackRequest"},"ConexionFuente":{"properties":{"codigo_conexion_fuente":{"type":"string","title":"Codigo Conexion Fuente"},"codigo_fuente_ingesta":{"type":"string","title":"Codigo Fuente Ingesta"},"codigo_entidad":{"type":"string","title":"Codigo Entidad"},"codigo_ubicacion":{"type":"string","title":"Codigo Ubicacion"},"nombre":{"type":"string","title":"Nombre"},"frecuencia":{"type":"string","enum":["MANUAL","HORARIA","DIARIA"],"title":"Frecuencia"},"equipo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Equipo"},"este_equipo":{"type":"boolean","title":"Este Equipo"},"estado":{"type":"string","enum":["AL_DIA","ACTUALIZANDO","SOLO_MANUAL","RECONECTAR_CUENTA","CARPETA_NO_ACCESIBLE","EQUIPO_SIN_RESPUESTA","ERROR_PROVEEDOR"],"title":"Estado"},"ultimo_refresco_completo":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ultimo Refresco Completo"}},"type":"object","required":["codigo_conexion_fuente","codigo_fuente_ingesta","codigo_entidad","codigo_ubicacion","nombre","frecuencia","equipo","este_equipo","estado","ultimo_refresco_completo"],"title":"ConexionFuente"},"ConsentimientoRequest":{"properties":{"ticket":{"type":"string","title":"Ticket"},"decision":{"type":"string","enum":["autorizar","denegar"],"title":"Decision"},"codigo_rol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Rol"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"},"vigencia":{"type":"string","title":"Vigencia","default":"3m"},"fecha_inicio":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fecha Inicio"},"fecha_fin":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fecha Fin"}},"type":"object","required":["ticket","decision"],"title":"ConsentimientoRequest"},"ConsentimientoResponse":{"properties":{"redirect_url":{"type":"string","title":"Redirect Url"}},"type":"object","required":["redirect_url"],"title":"ConsentimientoResponse"},"ConsentimientoVistaResponse":{"properties":{"cliente":{"$ref":"#/components/schemas/ClienteVista"},"redirect":{"$ref":"#/components/schemas/RedirectVista"},"usuario":{"$ref":"#/components/schemas/UsuarioVista"},"grupo":{"$ref":"#/components/schemas/GrupoVista"},"entidad":{"$ref":"#/components/schemas/EntidadVista"},"defecto":{"$ref":"#/components/schemas/DefectoVista"},"opciones":{"$ref":"#/components/schemas/OpcionesVista"},"expira_en":{"type":"string","title":"Expira En"}},"type":"object","required":["cliente","redirect","usuario","grupo","entidad","defecto","opciones","expira_en"],"title":"ConsentimientoVistaResponse"},"ConsolidarGrafoResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","default":true},"pares":{"type":"integer","title":"Pares","default":0}},"type":"object","title":"ConsolidarGrafoResponse"},"ContarHuerfanosResponse":{"properties":{"cantidad":{"type":"integer","title":"Cantidad"},"minutos":{"type":"integer","title":"Minutos"}},"type":"object","required":["cantidad","minutos"],"title":"ContarHuerfanosResponse"},"ContenidoEspacioResponse":{"properties":{"id_espacio":{"type":"integer","title":"Id Espacio"},"resolucion":{"type":"string","title":"Resolucion"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"items":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Items","default":[]},"nota":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nota"}},"type":"object","required":["id_espacio","resolucion","total","page","limit"],"title":"ContenidoEspacioResponse","description":"Respuesta unificada del verbo LEER sobre un Espacio.\n\n`resolucion`: contar | manifiesto | chunks | texto.\n`items` cambia de forma según la resolución (lista de dicts):\n  - contar:     [] (solo importa `total`)\n  - manifiesto: docs + metadata (nombre, ubicación, resumen, fechas, estado)\n  - chunks:     docs con sus chunks relevantes a `q` (RAG dentro del espacio)\n  - texto:      chunks crudos ordenados (id_origen, nro_chunk, texto), tope duro\n`total`: nº de documentos miembros del espacio (contexto del conjunto).\n`nota`: aviso opcional (p.ej. el corpus no tiene texto completo, se ensambla\n        desde chunks)."},"ContenidoPreparadoRequest":{"properties":{"id_externo":{"type":"string","maxLength":500,"minLength":1,"title":"Id Externo"},"hash_sha256":{"type":"string","pattern":"^[0-9a-f]{64}$","title":"Hash Sha256"}},"additionalProperties":false,"type":"object","required":["id_externo","hash_sha256"],"title":"ContenidoPreparadoRequest"},"ContextoDocumentacionRequest":{"properties":{"lease_token":{"type":"string","maxLength":300,"minLength":32,"title":"Lease Token"}},"type":"object","required":["lease_token"],"title":"ContextoDocumentacionRequest"},"CorregirRlsEntrante":{"properties":{"ambiente_origen":{"type":"string","enum":["TEST","PROD","CORP"],"title":"Ambiente Origen"},"codigo_proceso_origen":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}],"title":"Codigo Proceso Origen"}},"type":"object","required":["ambiente_origen"],"title":"CorregirRlsEntrante","description":"Pedido de un peer para corregir RLS en este ambiente (alerta de Supabase, mig 1415)."},"CorrerGeneracionRequest":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"}},"type":"object","required":["codigo_proceso"],"title":"CorrerGeneracionRequest"},"CorrerRetrievalRequest":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"}},"type":"object","required":["codigo_proceso"],"title":"CorrerRetrievalRequest"},"CorrerSimpleRequest":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"},"base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Url"}},"type":"object","required":["codigo_proceso"],"title":"CorrerSimpleRequest"},"CorridaDelegadaResponse":{"properties":{"proceso_negocio":{"$ref":"#/components/schemas/ProcesoInstanciaResponse"},"intento_ejecucion":{"$ref":"#/components/schemas/ProcesoInstanciaResponse"},"estado_presentacion":{"type":"string","title":"Estado Presentacion"}},"type":"object","required":["proceso_negocio","intento_ejecucion","estado_presentacion"],"title":"CorridaDelegadaResponse"},"CorteLoteRequest":{"properties":{"harvest":{"items":{"$ref":"#/components/schemas/CandidatosDocumento"},"type":"array","title":"Harvest","default":[]}},"type":"object","title":"CorteLoteRequest"},"CorteLoteResponse":{"properties":{"terminos_guardados":{"type":"integer","title":"Terminos Guardados"},"documentos":{"type":"integer","title":"Documentos"},"digerido":{"type":"boolean","title":"Digerido"}},"type":"object","required":["terminos_guardados","documentos","digerido"],"title":"CorteLoteResponse"},"CrearCompletoRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"nombre":{"type":"string","title":"Nombre"},"empresa":{"type":"string","title":"Empresa"}},"type":"object","required":["email","nombre","empresa"],"title":"CrearCompletoRequest"},"CrearCompletoResponse":{"properties":{"codigo_usuario":{"type":"string","title":"Codigo Usuario"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_entidad":{"type":"string","title":"Codigo Entidad"},"mensaje":{"type":"string","title":"Mensaje"}},"type":"object","required":["codigo_usuario","codigo_grupo","codigo_entidad","mensaje"],"title":"CrearCompletoResponse"},"CrearCorridaDelegadaBody":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"type":"string","title":"Codigo Tipo Proceso"}},"type":"object","required":["codigo_categoria_proceso","codigo_tipo_proceso"],"title":"CrearCorridaDelegadaBody"},"CruzarEscaneoRequest":{"properties":{"urls":{"items":{"type":"string"},"type":"array","title":"Urls"},"ruta_raiz":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ruta Raiz"}},"type":"object","required":["urls"],"title":"CruzarEscaneoRequest","description":"Una página del escaneo del navegador contra lo que el Cloud ya conoce."},"CruzarEscaneoResponse":{"properties":{"existentes":{"additionalProperties":{"type":"string"},"type":"object","title":"Existentes","default":{}},"presentes_bajo_raiz":{"type":"integer","title":"Presentes Bajo Raiz","default":0},"habilitadas_bajo_raiz":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Habilitadas Bajo Raiz"}},"type":"object","title":"CruzarEscaneoResponse"},"DefectoVista":{"properties":{"codigo_rol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Rol"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"}},"type":"object","title":"DefectoVista"},"DestinoWebhookCreate":{"properties":{"codigo_destino":{"type":"string","title":"Codigo Destino"},"url":{"type":"string","title":"Url"},"secreto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secreto"},"eventos":{"items":{"type":"string"},"type":"array","title":"Eventos","default":["PROCESO_TERMINADO"]},"activo":{"type":"boolean","title":"Activo","default":true}},"type":"object","required":["codigo_destino","url"],"title":"DestinoWebhookCreate"},"DestinoWebhookResponse":{"properties":{"id_destino":{"type":"integer","title":"Id Destino"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_destino":{"type":"string","title":"Codigo Destino"},"url":{"type":"string","title":"Url"},"eventos":{"items":{"type":"string"},"type":"array","title":"Eventos"},"activo":{"type":"boolean","title":"Activo"},"tiene_secreto":{"type":"boolean","title":"Tiene Secreto","default":false},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id_destino","codigo_grupo","codigo_destino","url","eventos","activo"],"title":"DestinoWebhookResponse"},"DestinoWebhookUpdate":{"properties":{"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"secreto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secreto"},"eventos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Eventos"},"activo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Activo"}},"type":"object","title":"DestinoWebhookUpdate"},"DetalleEjecucion":{"properties":{"n_items_cola":{"type":"integer","title":"N Items Cola","default":0},"n_no_procesables":{"type":"integer","title":"N No Procesables","default":0},"no_procesables":{"items":{"$ref":"#/components/schemas/ItemNoProcesable"},"type":"array","title":"No Procesables","default":[]},"id_espacio":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Espacio"},"nombre_espacio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Espacio"},"codigo_estado_minimo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Minimo"}},"type":"object","title":"DetalleEjecucion","description":"Cifras de aceptación de la invocación (cuántos ítems entraron a la cola)."},"DetalleUsoLLMEntrada":{"properties":{"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"codigo_usuario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario"},"codigo_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"},"codigo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso"},"codigo_categoria_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Proceso"},"codigo_ejecucion":{"type":"string","title":"Codigo Ejecucion"},"tipo_ejecucion":{"type":"string","title":"Tipo Ejecucion"},"codigo_habilidad":{"type":"string","title":"Codigo Habilidad"},"tipo_unidad":{"type":"string","title":"Tipo Unidad"},"id_unidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id Unidad"},"id_turno":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id Turno"},"proveedor":{"type":"string","title":"Proveedor"},"modelo":{"type":"string","title":"Modelo"},"tarifa_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tarifa Id"},"exito":{"type":"boolean","title":"Exito","default":true},"tokens_input":{"type":"integer","minimum":0.0,"title":"Tokens Input","default":0},"tokens_output":{"type":"integer","minimum":0.0,"title":"Tokens Output","default":0},"tokens_cache_read":{"type":"integer","minimum":0.0,"title":"Tokens Cache Read","default":0},"tokens_cache_write":{"type":"integer","minimum":0.0,"title":"Tokens Cache Write","default":0},"duracion_ms":{"type":"integer","minimum":0.0,"title":"Duracion Ms","default":0},"codigo_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Error"},"error_mensaje":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Mensaje"},"uso_key_casa":{"type":"boolean","title":"Uso Key Casa","default":false}},"type":"object","required":["codigo_ejecucion","tipo_ejecucion","codigo_habilidad","tipo_unidad","proveedor","modelo"],"title":"DetalleUsoLLMEntrada","description":"Traza por-intento opt-in. Se descarta server-side si el contexto\nefectivo (grupo/entidad reales, no los del payload) no autoriza detalle."},"DetenerProcesoResponse":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"},"anulados":{"items":{"type":"string"},"type":"array","title":"Anulados"},"ya_cerrados_sin_tocar":{"items":{"type":"string"},"type":"array","title":"Ya Cerrados Sin Tocar"}},"type":"object","required":["codigo_proceso","anulados","ya_cerrados_sin_tocar"],"title":"DetenerProcesoResponse"},"DiagnosticarRequest":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"}},"type":"object","required":["codigo_proceso"],"title":"DiagnosticarRequest"},"DiagnosticarSoporteRequest":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"}},"type":"object","required":["codigo_proceso"],"title":"DiagnosticarSoporteRequest"},"DirectorioEscaneado":{"properties":{"codigo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"},"nombre_ubicacion":{"type":"string","title":"Nombre Ubicacion"},"alias_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Ubicacion"},"codigo_ubicacion_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion Superior"},"ruta_completa":{"type":"string","title":"Ruta Completa"},"ruta_completa_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ruta Completa Superior"},"nivel":{"type":"integer","title":"Nivel","default":0},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","required":["nombre_ubicacion","ruta_completa"],"title":"DirectorioEscaneado"},"DocEnProceso":{"properties":{"codigo_documento":{"type":"string","title":"Codigo Documento"},"nombre_documento":{"type":"string","title":"Nombre Documento"},"codigo_estado_doc_destino":{"type":"string","title":"Codigo Estado Doc Destino"}},"type":"object","required":["codigo_documento","nombre_documento","codigo_estado_doc_destino"],"title":"DocEnProceso"},"DocIdentidad":{"properties":{"ubicacion_documento":{"type":"string","title":"Ubicacion Documento"},"hash_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hash Sha256"},"codigo_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Documento"}},"type":"object","required":["ubicacion_documento"],"title":"DocIdentidad"},"DocumentarFuncionesManualBody":{"properties":{"alcance":{"$ref":"#/components/schemas/AlcanceDocumentacionBody"}},"additionalProperties":false,"type":"object","title":"DocumentarFuncionesManualBody"},"DocumentoEspacioResponse":{"properties":{"id_cola":{"type":"integer","title":"Id Cola"},"codigo_documento":{"type":"string","title":"Codigo Documento"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"nombre_documento":{"type":"string","title":"Nombre Documento"},"ubicacion_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ubicacion Documento"},"resumen_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resumen Documento"},"fecha_modificacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Modificacion"},"tamano_kb":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tamano Kb"},"codigo_estado_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Doc"},"estado_area":{"type":"string","title":"Estado Area"},"estado_cola":{"type":"string","title":"Estado Cola"},"fecha_cola":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Cola"},"fecha_inicio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Inicio"},"fecha_fin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Fin"},"modelo_usado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modelo Usado"},"tokens_input":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tokens Input"},"tokens_output":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tokens Output"},"costo_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Costo Usd"},"resultado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resultado"},"mensaje_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mensaje Error"},"codigo_habilidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Habilidad"}},"type":"object","required":["id_cola","codigo_documento","codigo_grupo","nombre_documento","estado_area","estado_cola"],"title":"DocumentoEspacioResponse","description":"Doc en la cola del espacio. Combina datos del documento + estado de la cola.\n\nEl \"estado del doc en el espacio\" vive en `cola_estados_docs.codigo_estado_doc_destino`\ny toma valores ABIERTO/EN_PROCESO/CERRADO/CANCELADO (estados canónicos del flujo\nESPACIOS_TRABAJO/ESPACIOS_TRABAJO)."},"DocumentoResponse":{"properties":{"codigo_documento":{"type":"string","title":"Codigo Documento"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"id_persona":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Persona"},"person_metadata":{"anyOf":[{"$ref":"#/components/schemas/PersonDocumentMetadata"},{"type":"null"}]},"nombre_documento":{"type":"string","title":"Nombre Documento"},"ubicacion_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ubicacion Documento"},"resumen_documento":{"anyOf":[{},{"type":"null"}],"title":"Resumen Documento"},"md":{"anyOf":[{},{"type":"null"}],"title":"Md"},"fecha_modificacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Modificacion"},"tamano_kb":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tamano Kb"},"codigo_estado_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Doc"},"detalle_estado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detalle Estado"},"codigo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"},"codigo_tipo_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Documento"},"nombre_tipo_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Tipo Documento"},"document_type_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type Id"},"document_type_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type Name"},"formato_archivo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Formato Archivo"},"url_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Ubicacion"},"nombre_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Entidad"},"nombre_estado_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Estado Documento"},"nombre_ubicacion_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Ubicacion Area"},"codigo_fuente_ingesta":{"type":"string","enum":["FILES","GOOGLE_DRIVE","DROPBOX"],"title":"Codigo Fuente Ingesta","default":"FILES"},"id_fuente_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id Fuente Documento"},"ruta_fuente_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ruta Fuente Documento"},"url_fuente_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Fuente Documento"}},"type":"object","required":["codigo_documento","codigo_grupo","nombre_documento"],"title":"DocumentoResponse"},"DocumentoSync":{"properties":{"codigo_documento":{"type":"string","title":"Codigo Documento"},"nombre_documento":{"type":"string","title":"Nombre Documento"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"ubicacion_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ubicacion Documento"},"codigo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"},"extension":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extension"},"tamano_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tamano Bytes"},"tamano_kb":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tamano Kb"},"fecha_modificacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Modificacion"},"hash_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hash Sha256"},"estado":{"type":"string","title":"Estado","default":"METADATA"},"detalle_estado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detalle Estado"},"resumen_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resumen Documento"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"},"texto_fuente":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Texto Fuente"},"caracteres":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Caracteres"},"paginas":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Paginas"},"pipeline_modo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pipeline Modo"},"codigo_tipo_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Documento"},"comentario_clasificacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comentario Clasificacion"},"confianza_clasificacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Confianza Clasificacion"},"origen_clasificacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origen Clasificacion"},"codigo_tipo_documento_sugerido":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Documento Sugerido"},"puntaje_confianza_clasificacion":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Puntaje Confianza Clasificacion"},"estado_tipificacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Tipificacion"},"idioma_detectado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idioma Detectado"}},"type":"object","required":["codigo_documento","nombre_documento"],"title":"DocumentoSync"},"DocumentoTextoRequest":{"properties":{"texto_fuente":{"type":"string","title":"Texto Fuente"},"caracteres":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Caracteres"},"paginas":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Paginas"},"fecha_inicio_extraccion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Inicio Extraccion"},"sub_duracion_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sub Duracion Ms"},"archivo_no_encontrado":{"type":"boolean","title":"Archivo No Encontrado","default":false},"formato_no_soportado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Formato No Soportado"},"contenido_vacio":{"type":"boolean","title":"Contenido Vacio","default":false},"detalle_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detalle Error"},"paginas_imagen":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Paginas Imagen"},"lineas_primera_pagina":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Lineas Primera Pagina"},"timings_debug":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Timings Debug"},"metadata_xlsx":{"anyOf":[{"$ref":"#/components/schemas/MetadataXlsx"},{"type":"null"}]}},"type":"object","required":["texto_fuente"],"title":"DocumentoTextoRequest","description":"Texto extraído del archivo local por el navegador del cliente.\n\nEl frontend lee el PDF con File System Access API, extrae el texto, y lo\nsube con este payload. El backend lo guarda en `documento_texto` y marca\nel documento con estado METADATA. A partir de ahí los procesos LLM\n(RESUMIR, ESCANEAR) corren en background en el servidor sin necesidad\nde que el navegador esté abierto."},"DocumentoTextoResponse":{"properties":{"codigo_documento":{"type":"string","title":"Codigo Documento"},"codigo_estado_doc":{"type":"string","title":"Codigo Estado Doc"},"caracteres":{"type":"integer","title":"Caracteres"},"paginas":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Paginas"}},"type":"object","required":["codigo_documento","codigo_estado_doc","caracteres"],"title":"DocumentoTextoResponse"},"DocumentoUpdate":{"properties":{"nombre_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Documento"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"ubicacion_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ubicacion Documento"},"resumen_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resumen Documento"},"fecha_modificacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Modificacion"},"tamano_kb":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tamano Kb"},"codigo_estado_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Doc"},"confirmar_tipo_sugerido":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Confirmar Tipo Sugerido"}},"type":"object","title":"DocumentoUpdate"},"DocumentosEspacioPaginados":{"properties":{"items":{"items":{"$ref":"#/components/schemas/DocumentoEspacioResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"}},"type":"object","required":["items","total","page","limit"],"title":"DocumentosEspacioPaginados"},"DocumentosPaginadosResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/DocumentoResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"no_visibles":{"type":"integer","title":"No Visibles","default":0}},"type":"object","required":["items","total","page","limit"],"title":"DocumentosPaginadosResponse"},"DraftOrganizationRequest":{"properties":{"source_text":{"type":"string","title":"Source Text","default":""},"entity_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Code"}},"type":"object","title":"DraftOrganizationRequest"},"EjecutarColaRequest":{"properties":{"estado_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Destino"},"codigo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso"},"codigo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"},"q":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"},"tope":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tope"}},"type":"object","title":"EjecutarColaRequest"},"EjecutarColaResponse":{"properties":{"mensaje":{"type":"string","title":"Mensaje"},"grupo":{"type":"string","title":"Grupo"},"estado_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Destino"},"pendientes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pendientes"}},"type":"object","required":["mensaje","grupo"],"title":"EjecutarColaResponse"},"EjecutarFamiliaRequest":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"codigo_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion","default":"TEST_RUNNER"}},"type":"object","required":["codigo_categoria_proceso"],"title":"EjecutarFamiliaRequest"},"EjecutarHabilidadRequest":{"properties":{"codigo_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Documento"},"codigos_documentos":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Codigos Documentos"},"id_espacio":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Espacio"},"id_modelo_override":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo Override"},"parametros":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Parametros"}},"type":"object","title":"EjecutarHabilidadRequest","description":"Modos de invocación, mutuamente excluyentes (validar al menos uno).\n\n- codigo_documento: ejecutar sobre 1 doc\n- codigos_documentos: ejecutar sobre lista\n- id_espacio: ejecutar sobre todos los docs del espacio (futuro)"},"EjecutarHeuristicaRequest":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"}},"type":"object","required":["codigo_proceso"],"title":"EjecutarHeuristicaRequest"},"EjecutarLimpiezaRequest":{"properties":{"codigo_tabla":{"type":"string","title":"Codigo Tabla"},"modo":{"type":"string","enum":["TIEMPO","CANTIDAD"],"title":"Modo"},"valor":{"type":"integer","exclusiveMinimum":0.0,"title":"Valor"}},"type":"object","required":["codigo_tabla","modo","valor"],"title":"EjecutarLimpiezaRequest"},"EliminarBulkRequest":{"properties":{"codigos_proceso":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":500},{"type":"null"}],"title":"Codigos Proceso"},"fecha_inicio_desde":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fecha Inicio Desde"},"fecha_inicio_hasta":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fecha Inicio Hasta"}},"type":"object","title":"EliminarBulkRequest"},"EliminarBulkResponse":{"properties":{"eliminados":{"type":"integer","title":"Eliminados"}},"type":"object","required":["eliminados"],"title":"EliminarBulkResponse"},"EliminarDocumentosRequest":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigos_documento":{"items":{"type":"string"},"type":"array","title":"Codigos Documento"}},"type":"object","required":["codigo_grupo","codigos_documento"],"title":"EliminarDocumentosRequest"},"EntidadAsignar":{"properties":{"codigo_entidad":{"type":"string","title":"Codigo Entidad"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"}},"type":"object","required":["codigo_entidad","codigo_grupo"],"title":"EntidadAsignar"},"EntidadCreate":{"properties":{"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"nombre":{"type":"string","title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"resumen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resumen"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"imagen_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Imagen Url"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"}},"type":"object","required":["nombre","codigo_grupo"],"title":"EntidadCreate"},"EntidadResponse":{"properties":{"codigo_entidad":{"type":"string","title":"Codigo Entidad"},"nombre":{"type":"string","title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"resumen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resumen"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"imagen_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Imagen Url"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"}},"type":"object","required":["codigo_entidad","nombre"],"title":"EntidadResponse"},"EntidadResumen":{"properties":{"codigo_entidad":{"type":"string","title":"Codigo Entidad"},"nombre":{"type":"string","title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"es_default":{"type":"boolean","title":"Es Default","default":false},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"}},"type":"object","required":["codigo_entidad","nombre"],"title":"EntidadResumen","description":"Resumen de una entidad para el contexto del usuario."},"EntidadUpdate":{"properties":{"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"resumen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resumen"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"imagen_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Imagen Url"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"}},"type":"object","title":"EntidadUpdate"},"EntidadVista":{"properties":{"codigo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo"},"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"}},"type":"object","title":"EntidadVista"},"ErrorResponse":{"properties":{"mensaje_usuario":{"type":"string","title":"Mensaje Usuario"},"sugerencia":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sugerencia"},"codigo_proceso":{"type":"string","title":"Codigo Proceso"},"error_tecnico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Tecnico"},"transitorio":{"type":"boolean","title":"Transitorio","default":false}},"type":"object","required":["mensaje_usuario","codigo_proceso"],"title":"ErrorResponse"},"EspacioComponerRequest":{"properties":{"operacion":{"type":"string","title":"Operacion"},"id_espacio_a":{"type":"integer","title":"Id Espacio A"},"id_espacio_b":{"type":"integer","title":"Id Espacio B"},"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"tipo_espacio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Espacio","default":"AREA"},"alcance":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alcance","default":"USUARIO"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"}},"type":"object","required":["operacion","id_espacio_a","id_espacio_b"],"title":"EspacioComponerRequest","description":"Compone dos espacios por álgebra de conjuntos → nuevo espacio.\n\n`operacion`: union | interseccion | diferencia (A∖B, orden significativo) |\ndiferencia_simetrica ((A∖B) ∪ (B∖A)).\nMiembro = doc del espacio cuyo estado NO es CANCELADO (activos + CERRADO).\nEl resultado nace AREA temporal por defecto; el agente puede pedir ESPACIO."},"EspacioCriterioUpdate":{"properties":{"criterio_texto":{"type":"string","title":"Criterio Texto"}},"type":"object","required":["criterio_texto"],"title":"EspacioCriterioUpdate","description":"PUT /criterio — cualquiera del alcance puede editar el prompt."},"EspacioTrabajoCreate":{"properties":{"nombre_espacio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Espacio"},"tipo_espacio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Espacio","default":"AREA"},"alcance":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alcance","default":"USUARIO"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"},"criterio_texto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Criterio Texto"},"ids_documentos":{"items":{"type":"string"},"type":"array","title":"Ids Documentos","default":[]}},"type":"object","title":"EspacioTrabajoCreate","description":"Payload para crear un espacio.\n\n`ids_documentos` es opcional: el frontend puede mandar la lista del filtro\nactual para sembrar la cache; si viene vacía, el espacio queda sin docs y\nel primer Refrescar aplica el `criterio_texto`."},"EspacioTrabajoResponse":{"properties":{"id_espacio":{"type":"integer","title":"Id Espacio"},"nombre_espacio":{"type":"string","title":"Nombre Espacio"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"tipo_espacio":{"type":"string","title":"Tipo Espacio"},"alcance":{"type":"string","title":"Alcance"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_entidad":{"type":"string","title":"Codigo Entidad"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"},"codigo_usuario":{"type":"string","title":"Codigo Usuario"},"criterio_texto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Criterio Texto"},"fecha_creacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Creacion"},"fecha_termino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Termino"},"fecha_ultimo_refresco":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Ultimo Refresco"},"total_documentos":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Documentos"}},"type":"object","required":["id_espacio","nombre_espacio","tipo_espacio","alcance","codigo_grupo","codigo_entidad","codigo_usuario"],"title":"EspacioTrabajoResponse"},"EspacioTrabajoUpdate":{"properties":{"nombre_espacio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Espacio"},"tipo_espacio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Espacio"},"fecha_termino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Termino"}},"type":"object","title":"EspacioTrabajoUpdate","description":"PUT general — restringido al creador. Editable nombre, tipo y fecha_termino."},"EspaciosTrabajoPaginados":{"properties":{"items":{"items":{"$ref":"#/components/schemas/EspacioTrabajoResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"}},"type":"object","required":["items","total","page","limit"],"title":"EspaciosTrabajoPaginados"},"EstacionEjecucionCrear":{"properties":{"nombre":{"type":"string","maxLength":120,"minLength":2,"title":"Nombre"},"hostname":{"type":"string","maxLength":120,"minLength":1,"title":"Hostname"},"codigo_usuario_servicio":{"type":"string","maxLength":100,"minLength":1,"title":"Codigo Usuario Servicio"},"prioridad":{"type":"integer","maximum":9999.0,"minimum":1.0,"title":"Prioridad","default":99},"concurrencia_max":{"type":"integer","maximum":20.0,"minimum":1.0,"title":"Concurrencia Max","default":1},"perfiles":{"items":{"$ref":"#/components/schemas/PerfilEjecucion"},"type":"array","title":"Perfiles"},"capacidades":{"items":{"type":"string"},"type":"array","title":"Capacidades"},"activa":{"type":"boolean","title":"Activa","default":false},"codigo_estacion":{"type":"string","maxLength":60,"minLength":2,"pattern":"^[A-Z0-9][A-Z0-9_-]*$","title":"Codigo Estacion"}},"additionalProperties":false,"type":"object","required":["nombre","hostname","codigo_usuario_servicio","codigo_estacion"],"title":"EstacionEjecucionCrear"},"EstacionEjecucionCron":{"properties":{"codigo_estacion":{"type":"string","title":"Codigo Estacion"},"nombre":{"type":"string","title":"Nombre"},"hostname":{"type":"string","title":"Hostname"},"prioridad":{"type":"integer","title":"Prioridad"},"estado":{"type":"string","title":"Estado"},"ultimo_heartbeat":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultimo Heartbeat"},"version_runtime":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version Runtime"},"capacidades":{"items":{"type":"string"},"type":"array","title":"Capacidades","default":[]},"perfiles":{"items":{"type":"string"},"type":"array","title":"Perfiles","default":[]},"concurrencia_max":{"type":"integer","title":"Concurrencia Max","default":1},"ultimo_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultimo Error"},"ultimo_error_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultimo Error At"},"codigo_usuario_servicio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario Servicio"},"activa":{"type":"boolean","title":"Activa","default":false}},"type":"object","required":["codigo_estacion","nombre","hostname","prioridad","estado"],"title":"EstacionEjecucionCron"},"EstacionEjecucionEntrada":{"properties":{"nombre":{"type":"string","maxLength":120,"minLength":2,"title":"Nombre"},"hostname":{"type":"string","maxLength":120,"minLength":1,"title":"Hostname"},"codigo_usuario_servicio":{"type":"string","maxLength":100,"minLength":1,"title":"Codigo Usuario Servicio"},"prioridad":{"type":"integer","maximum":9999.0,"minimum":1.0,"title":"Prioridad","default":99},"concurrencia_max":{"type":"integer","maximum":20.0,"minimum":1.0,"title":"Concurrencia Max","default":1},"perfiles":{"items":{"$ref":"#/components/schemas/PerfilEjecucion"},"type":"array","title":"Perfiles"},"capacidades":{"items":{"type":"string"},"type":"array","title":"Capacidades"},"activa":{"type":"boolean","title":"Activa","default":false}},"additionalProperties":false,"type":"object","required":["nombre","hostname","codigo_usuario_servicio"],"title":"EstacionEjecucionEntrada","description":"Configuración administrable de una estación, siempre dentro de un tenant."},"EstadoCanonicoProcesoCreate":{"properties":{"codigo_estado_canonico":{"type":"string","title":"Codigo Estado Canonico"},"nombre":{"type":"string","title":"Nombre"}},"type":"object","required":["codigo_estado_canonico","nombre"],"title":"EstadoCanonicoProcesoCreate"},"EstadoCanonicoProcesoUpdate":{"properties":{"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"}},"type":"object","title":"EstadoCanonicoProcesoUpdate"},"EstadoCanonicoTareaCreate":{"properties":{"codigo_estado_canonico":{"type":"string","title":"Codigo Estado Canonico"},"nombre_estado_canonico":{"type":"string","title":"Nombre Estado Canonico"},"descripcion_estado_canonico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Estado Canonico"}},"type":"object","required":["codigo_estado_canonico","nombre_estado_canonico"],"title":"EstadoCanonicoTareaCreate"},"EstadoCanonicoTareaUpdate":{"properties":{"nombre_estado_canonico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Estado Canonico"},"descripcion_estado_canonico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Estado Canonico"}},"type":"object","title":"EstadoCanonicoTareaUpdate"},"EstadoDocResponse":{"properties":{"codigo_estado_doc":{"type":"string","title":"Codigo Estado Doc"},"nombre_estado":{"type":"string","title":"Nombre Estado"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"orden":{"type":"integer","title":"Orden","default":0},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"}},"type":"object","required":["codigo_estado_doc","nombre_estado"],"title":"EstadoDocResponse"},"EstadoLoteFiltroRequest":{"properties":{"codigo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"},"q":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"},"desde":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Desde"}},"type":"object","title":"EstadoLoteFiltroRequest"},"EstadoLoteFiltroResponse":{"properties":{"por_estado":{"additionalProperties":{"type":"integer"},"type":"object","title":"Por Estado"},"no_escaneables":{"type":"integer","title":"No Escaneables","default":0}},"type":"object","required":["por_estado"],"title":"EstadoLoteFiltroResponse"},"EstadoProcesoCreate":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"type":"string","title":"Codigo Tipo Proceso"},"codigo_estado_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Proceso"},"secuencia":{"type":"integer","title":"Secuencia","default":0},"nombre_estado":{"type":"string","title":"Nombre Estado"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"traducir":{"type":"boolean","title":"Traducir","default":false}},"type":"object","required":["codigo_categoria_proceso","codigo_tipo_proceso","nombre_estado"],"title":"EstadoProcesoCreate"},"EstadoProcesoUpdate":{"properties":{"secuencia":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Secuencia"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"nombre_estado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Estado"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"traducir":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Traducir"}},"type":"object","title":"EstadoProcesoUpdate"},"EstadoTareaCreate":{"properties":{"codigo_categoria_tarea":{"type":"string","title":"Codigo Categoria Tarea"},"codigo_tipo_tarea":{"type":"string","title":"Codigo Tipo Tarea"},"codigo_estado_tarea":{"type":"string","title":"Codigo Estado Tarea"},"nombre_estado_tarea":{"type":"string","title":"Nombre Estado Tarea"},"descripcion_estado_tarea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Estado Tarea"},"codigo_estado_canonico":{"type":"string","title":"Codigo Estado Canonico"},"orden":{"type":"integer","title":"Orden","default":0},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"}},"type":"object","required":["codigo_categoria_tarea","codigo_tipo_tarea","codigo_estado_tarea","nombre_estado_tarea","codigo_estado_canonico"],"title":"EstadoTareaCreate"},"EstadoTareaUpdate":{"properties":{"nombre_estado_tarea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Estado Tarea"},"descripcion_estado_tarea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Estado Tarea"},"codigo_estado_canonico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Canonico"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"}},"type":"object","title":"EstadoTareaUpdate"},"EventoInterAmbienteEntrante":{"properties":{"ambiente_origen":{"type":"string","enum":["TEST","PROD","CORP"],"title":"Ambiente Origen"},"ambiente_destino":{"type":"string","enum":["TEST","PROD","CORP"],"title":"Ambiente Destino"},"codigo_estado":{"type":"string","maxLength":120,"minLength":1,"title":"Codigo Estado"},"comentario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comentario"},"secuencia":{"type":"integer","minimum":1.0,"title":"Secuencia"},"datos":{"additionalProperties":true,"type":"object","title":"Datos"}},"type":"object","required":["ambiente_origen","ambiente_destino","codigo_estado","secuencia"],"title":"EventoInterAmbienteEntrante"},"EventoUsoLLMEntrada":{"properties":{"event_id":{"type":"string","maxLength":64,"minLength":1,"title":"Event Id"},"codigo_ejecucion":{"type":"string","maxLength":80,"minLength":1,"title":"Codigo Ejecucion"},"buckets":{"items":{"$ref":"#/components/schemas/BucketUsoLLMEntrada"},"type":"array","title":"Buckets"},"detalles":{"items":{"$ref":"#/components/schemas/DetalleUsoLLMEntrada"},"type":"array","title":"Detalles"}},"type":"object","required":["event_id","codigo_ejecucion"],"title":"EventoUsoLLMEntrada"},"EvidenciaOperacion":{"properties":{"tipo":{"type":"string","enum":["ARCHIVO","SIMBOLO","I18N","RUTA_FASTAPI","TEST"],"title":"Tipo"},"archivo":{"type":"string","minLength":1,"title":"Archivo"},"simbolo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Simbolo"},"clave":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clave"},"metodo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Metodo"},"ruta_declarada":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ruta Declarada"},"ruta_publica":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ruta Publica"},"simbolo_origen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Simbolo Origen"},"huella":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Huella"}},"additionalProperties":false,"type":"object","required":["tipo","archivo"],"title":"EvidenciaOperacion"},"ExecuteOperationRequest":{"properties":{"input":{"additionalProperties":true,"type":"object","title":"Input"},"confirm":{"type":"boolean","title":"Confirm","default":false}},"type":"object","title":"ExecuteOperationRequest"},"ExplicarErrorRequest":{"properties":{"error_tecnico":{"type":"string","title":"Error Tecnico"},"endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint"},"metodo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Metodo"}},"type":"object","required":["error_tecnico"],"title":"ExplicarErrorRequest"},"ExplicarErrorResponse":{"properties":{"mensaje_usuario":{"type":"string","title":"Mensaje Usuario"},"es_error_tecnico":{"type":"boolean","title":"Es Error Tecnico"},"categoria":{"anyOf":[{"type":"string","enum":["dato_usuario","configuracion","bug","desconocido"]},{"type":"null"}],"title":"Categoria"},"sugerencia":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sugerencia"},"detalle_tecnico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detalle Tecnico"}},"type":"object","required":["mensaje_usuario","es_error_tecnico"],"title":"ExplicarErrorResponse"},"ExposicionOperacion":{"properties":{"operations":{"items":{"$ref":"#/components/schemas/OperacionExpuesta"},"type":"array","title":"Operations"},"reason":{"anyOf":[{"type":"string","maxLength":300,"minLength":1},{"type":"null"}],"title":"Reason"}},"additionalProperties":false,"type":"object","title":"ExposicionOperacion","description":"Exposición de una afirmación: sus operaciones, o por qué no tiene.\n\nUna INTERACCION siempre la declara. Las demás clases (lo que carga la\npantalla, lo que corre solo, cómo se detiene y cómo se retoma) la declaran\ncuando su evidencia prueba llamadas remotas: son las lecturas y acciones\nde la pantalla que un agente también necesita (2026-09-16, Fase 6)."},"FallaExtraccion":{"properties":{"codigo_documento":{"type":"string","title":"Codigo Documento"},"etapa":{"type":"string","title":"Etapa"},"motivo":{"type":"string","title":"Motivo","default":""}},"type":"object","required":["codigo_documento","etapa"],"title":"FallaExtraccion"},"FuenteIngestaConfiguracion":{"properties":{"habilitada":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Habilitada"},"frecuencia":{"anyOf":[{"type":"string","enum":["MANUAL","HORARIA","DIARIA"]},{"type":"null"}],"title":"Frecuencia"}},"type":"object","title":"FuenteIngestaConfiguracion","description":"Únicos ajustes funcionales editables por el administrador del grupo."},"FuenteIngestaDisponible":{"properties":{"codigo_fuente_ingesta":{"type":"string","title":"Codigo Fuente Ingesta"},"nombre_visible":{"type":"string","title":"Nombre Visible"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"icono":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icono"},"orden":{"type":"integer","title":"Orden","default":0},"modo_auth":{"type":"string","enum":["NINGUNO","OAUTH_PKCE","OAUTH_CODE","API_KEY"],"title":"Modo Auth"},"unidad_seleccion":{"type":"string","enum":["CARPETA","ESPACIO","CANAL","NINGUNA"],"title":"Unidad Seleccion"},"soporta_web":{"type":"boolean","title":"Soporta Web"},"soporta_desktop":{"type":"boolean","title":"Soporta Desktop"},"habilitada":{"type":"boolean","title":"Habilitada"},"credenciales_requeridas":{"items":{"type":"string"},"type":"array","title":"Credenciales Requeridas","default":[]},"credenciales_completas":{"type":"boolean","title":"Credenciales Completas"},"disponible":{"type":"boolean","title":"Disponible"},"frecuencia_efectiva":{"type":"string","enum":["MANUAL","HORARIA","DIARIA"],"title":"Frecuencia Efectiva"}},"type":"object","required":["codigo_fuente_ingesta","nombre_visible","modo_auth","unidad_seleccion","soporta_web","soporta_desktop","habilitada","credenciales_completas","disponible","frecuencia_efectiva"],"title":"FuenteIngestaDisponible","description":"Una plataforma del catálogo, resuelta para el grupo activo."},"FuncionAplicacionAsignar":{"properties":{"codigo_funcion":{"type":"string","title":"Codigo Funcion"}},"type":"object","required":["codigo_funcion"],"title":"FuncionAplicacionAsignar"},"FuncionCaracteristica":{"properties":{"codigo_funcion":{"type":"string","title":"Codigo Funcion"},"nombre_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Funcion"}},"type":"object","required":["codigo_funcion"],"title":"FuncionCaracteristica"},"FuncionCreate":{"properties":{"codigo_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"},"nombre":{"type":"string","title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"ayuda_de_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda De Funcion"},"url_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Funcion"},"alias_de_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias De Funcion"},"icono_de_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icono De Funcion"},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"codigo_aplicacion_origen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Aplicacion Origen"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"traducir":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Traducir","default":true},"perm_select":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Perm Select"},"perm_insert":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Perm Insert"},"perm_update":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Perm Update"},"perm_delete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Perm Delete"}},"type":"object","required":["nombre"],"title":"FuncionCreate"},"FuncionMenu":{"properties":{"codigo_funcion":{"type":"string","title":"Codigo Funcion"},"alias":{"type":"string","title":"Alias"},"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"icono":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icono"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"orden":{"type":"integer","title":"Orden","default":0},"aplicaciones":{"items":{"type":"string"},"type":"array","title":"Aplicaciones","default":[]}},"type":"object","required":["codigo_funcion","alias"],"title":"FuncionMenu","description":"Función individual para el menú lateral."},"FuncionOrden":{"properties":{"codigo_funcion":{"type":"string","title":"Codigo Funcion"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["codigo_funcion","orden"],"title":"FuncionOrden"},"FuncionOrdenItem":{"properties":{"codigo_funcion":{"type":"string","title":"Codigo Funcion"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["codigo_funcion","orden"],"title":"FuncionOrdenItem"},"FuncionPlan":{"properties":{"codigo_funcion":{"type":"string","title":"Codigo Funcion"},"nombre_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Funcion"}},"type":"object","required":["codigo_funcion"],"title":"FuncionPlan"},"FuncionResponse":{"properties":{"codigo_funcion":{"type":"string","title":"Codigo Funcion"},"nombre":{"type":"string","title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"ayuda_de_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda De Funcion"},"url_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Funcion"},"alias_de_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias De Funcion"},"icono_de_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icono De Funcion"},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"prompt_view":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt View"},"sql_view":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sql View"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"},"codigo_aplicacion_origen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Aplicacion Origen"},"tipo_acceso":{"type":"string","title":"Tipo Acceso","default":"USUARIO"},"orden":{"type":"integer","title":"Orden","default":0},"traducir":{"type":"boolean","title":"Traducir","default":true},"perm_select":{"type":"boolean","title":"Perm Select","default":true},"perm_insert":{"type":"boolean","title":"Perm Insert","default":true},"perm_update":{"type":"boolean","title":"Perm Update","default":true},"perm_delete":{"type":"boolean","title":"Perm Delete","default":true},"sincronizacion_pendiente":{"type":"boolean","title":"Sincronizacion Pendiente","default":false}},"type":"object","required":["codigo_funcion","nombre"],"title":"FuncionResponse"},"FuncionUpdate":{"properties":{"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"ayuda_de_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda De Funcion"},"url_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Funcion"},"alias_de_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias De Funcion"},"icono_de_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icono De Funcion"},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"prompt_view":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt View"},"sql_view":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sql View"},"codigo_aplicacion_origen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Aplicacion Origen"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"traducir":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Traducir"},"perm_select":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Perm Select"},"perm_insert":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Perm Insert"},"perm_update":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Perm Update"},"perm_delete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Perm Delete"},"sincronizacion_pendiente":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sincronizacion Pendiente"}},"type":"object","title":"FuncionUpdate"},"FunctionProfile":{"type":"string","enum":["chat_usuario","chat_soporte"],"title":"FunctionProfile"},"GenerarBDRequest":{"properties":{"modo":{"type":"string","title":"Modo","default":"incremental"},"idiomas":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Idiomas"},"grupo_tabla":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grupo Tabla"}},"type":"object","title":"GenerarBDRequest"},"GenerarCasosRequest":{"properties":{"grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grupo"},"docs":{"type":"integer","title":"Docs","default":8},"negativa_cada":{"type":"integer","title":"Negativa Cada","default":0}},"type":"object","title":"GenerarCasosRequest"},"GenerarMdFaltanteResponse":{"properties":{"procesados":{"type":"integer","title":"Procesados"},"errores":{"type":"integer","title":"Errores"},"detalle":{"type":"string","title":"Detalle"}},"type":"object","required":["procesados","errores","detalle"],"title":"GenerarMdFaltanteResponse"},"GenerarMensajesRequest":{"properties":{"es_json":{"additionalProperties":true,"type":"object","title":"Es Json"},"idiomas":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Idiomas"}},"type":"object","required":["es_json"],"title":"GenerarMensajesRequest"},"GenerarRegistroRequest":{"properties":{"tabla":{"type":"string","title":"Tabla"},"pk":{"type":"string","title":"Pk"},"idiomas":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Idiomas"}},"type":"object","required":["tabla","pk"],"title":"GenerarRegistroRequest"},"GenerarTodoRequest":{"properties":{"idiomas":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Idiomas"}},"type":"object","title":"GenerarTodoRequest","description":"Regenera el catálogo dinámico de la aplicación activa."},"GrupoCreate":{"properties":{"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"nombre":{"type":"string","title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"resumen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resumen"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso","default":"USUARIO"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"}},"type":"object","required":["nombre"],"title":"GrupoCreate"},"GrupoResponse":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"nombre":{"type":"string","title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"resumen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resumen"},"tipo_acceso":{"type":"string","title":"Tipo Acceso","default":"USUARIO"},"codigo_plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Plan"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"},"total_usuarios":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Usuarios"},"total_documentos":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Documentos"}},"type":"object","required":["codigo_grupo","nombre"],"title":"GrupoResponse"},"GrupoResumen":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"nombre_grupo":{"type":"string","title":"Nombre Grupo"},"alias_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Grupo"}},"type":"object","required":["codigo_grupo","nombre_grupo"],"title":"GrupoResumen","description":"Resumen de un grupo de entidades para el contexto del usuario."},"GrupoUpdate":{"properties":{"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"resumen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resumen"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"codigo_plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Plan"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"}},"type":"object","title":"GrupoUpdate"},"GrupoVista":{"properties":{"codigo":{"type":"string","title":"Codigo"},"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"}},"type":"object","required":["codigo"],"title":"GrupoVista"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HabilidadAdquisicionEfectivaResponse":{"properties":{"codigo_habilidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Habilidad"},"declarada_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Declarada En"},"distancia":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Distancia"},"advertencia":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Advertencia"}},"type":"object","title":"HabilidadAdquisicionEfectivaResponse"},"HabilidadAppAsignar":{"properties":{"codigo_habilidad":{"type":"string","title":"Codigo Habilidad"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"}},"type":"object","required":["codigo_habilidad"],"title":"HabilidadAppAsignar"},"HabilidadAppOrden":{"properties":{"codigo_habilidad":{"type":"string","title":"Codigo Habilidad"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["codigo_habilidad","orden"],"title":"HabilidadAppOrden"},"HabilidadCreate":{"properties":{"codigo_habilidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Habilidad"},"nombre_habilidad":{"type":"string","title":"Nombre Habilidad"},"alias_habilidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Habilidad"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"aplica_a":{"type":"string","enum":["DOCUMENTO","CONJUNTO_DOCUMENTOS","ESPACIO","TEXTOS"],"title":"Aplica A","default":"DOCUMENTO"},"tipo_habilidad":{"type":"string","enum":["LLM","PRIMITIVA","HEURISTICA","SKILL_TEXTO","DECISION_TIPADA"],"title":"Tipo Habilidad","default":"LLM"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"clase_ejecutable":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clase Ejecutable"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"},"id_modelo_reemplazo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo Reemplazo"},"id_modelo_b":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo B"},"id_modelo_b_reemplazo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo B Reemplazo"},"nivel":{"anyOf":[{"type":"string","pattern":"^(N[1-9]|NE[1-9]|NV[1-9]|NR[1-9])$"},{"type":"null"}],"title":"Nivel"},"es_general":{"type":"boolean","title":"Es General","default":false},"salida_destino":{"type":"string","enum":["DOC_COLUMNA","CHAT_INLINE","CARACTERISTICA","NUEVO_DOC","CUSTOM","ARCHIVO"],"title":"Salida Destino","default":"CHAT_INLINE"},"salida_columna":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salida Columna"},"formato_salida":{"type":"string","enum":["TEXTO","JSON"],"title":"Formato Salida","default":"TEXTO"},"tipo_acceso":{"type":"string","enum":["USUARIO","ADMINISTRADOR","SISTEMA"],"title":"Tipo Acceso","default":"SISTEMA"},"inyectar_contexto":{"type":"string","enum":["NONE","ORGANIZATION","FULL"],"title":"Inyectar Contexto","default":"NONE"},"modo_cache":{"type":"string","enum":["AUTO","NO_ESCRIBIR"],"title":"Modo Cache","default":"AUTO"},"preguntas":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Preguntas"}},"type":"object","required":["nombre_habilidad"],"title":"HabilidadCreate"},"HabilidadResponse":{"properties":{"codigo_habilidad":{"type":"string","title":"Codigo Habilidad"},"codigo_habilidad_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Habilidad En"},"aplica_a_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aplica A En"},"salida_destino_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salida Destino En"},"nombre_habilidad":{"type":"string","title":"Nombre Habilidad"},"alias_habilidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Habilidad"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"aplica_a":{"type":"string","enum":["DOCUMENTO","CONJUNTO_DOCUMENTOS","ESPACIO","TEXTOS"],"title":"Aplica A"},"tipo_habilidad":{"type":"string","enum":["LLM","PRIMITIVA","HEURISTICA","SKILL_TEXTO","DECISION_TIPADA"],"title":"Tipo Habilidad","default":"LLM"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"clase_ejecutable":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clase Ejecutable"},"codigo_categoria_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Categoria Proceso"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"},"id_modelo_reemplazo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo Reemplazo"},"id_modelo_b":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo B"},"id_modelo_b_reemplazo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo B Reemplazo"},"nivel":{"anyOf":[{"type":"string","pattern":"^(N[1-9]|NE[1-9]|NV[1-9]|NR[1-9])$"},{"type":"null"}],"title":"Nivel"},"es_general":{"type":"boolean","title":"Es General","default":false},"salida_destino":{"type":"string","enum":["DOC_COLUMNA","CHAT_INLINE","CARACTERISTICA","NUEVO_DOC","CUSTOM","ARCHIVO"],"title":"Salida Destino"},"salida_columna":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salida Columna"},"formato_salida":{"type":"string","enum":["TEXTO","JSON"],"title":"Formato Salida"},"tipo_acceso":{"type":"string","enum":["USUARIO","ADMINISTRADOR","SISTEMA"],"title":"Tipo Acceso","default":"SISTEMA"},"inyectar_contexto":{"type":"string","enum":["NONE","ORGANIZATION","FULL"],"title":"Inyectar Contexto","default":"NONE"},"modo_cache":{"type":"string","enum":["AUTO","NO_ESCRIBIR"],"title":"Modo Cache","default":"AUTO"},"preguntas":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Preguntas"},"fecha_creacion":{"type":"string","format":"date-time","title":"Fecha Creacion"},"fecha_modificacion":{"type":"string","format":"date-time","title":"Fecha Modificacion"}},"type":"object","required":["codigo_habilidad","nombre_habilidad","aplica_a","salida_destino","formato_salida","fecha_creacion","fecha_modificacion"],"title":"HabilidadResponse"},"HabilidadUpdate":{"properties":{"nombre_habilidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Habilidad"},"alias_habilidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Habilidad"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"aplica_a":{"anyOf":[{"type":"string","enum":["DOCUMENTO","CONJUNTO_DOCUMENTOS","ESPACIO","TEXTOS"]},{"type":"null"}],"title":"Aplica A"},"tipo_habilidad":{"anyOf":[{"type":"string","enum":["LLM","PRIMITIVA","HEURISTICA","SKILL_TEXTO","DECISION_TIPADA"]},{"type":"null"}],"title":"Tipo Habilidad"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"clase_ejecutable":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clase Ejecutable"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"},"id_modelo_reemplazo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo Reemplazo"},"id_modelo_b":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo B"},"id_modelo_b_reemplazo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo B Reemplazo"},"nivel":{"anyOf":[{"type":"string","pattern":"^(N[1-9]|NE[1-9]|NV[1-9]|NR[1-9])$"},{"type":"null"}],"title":"Nivel"},"salida_destino":{"anyOf":[{"type":"string","enum":["DOC_COLUMNA","CHAT_INLINE","CARACTERISTICA","NUEVO_DOC","CUSTOM","ARCHIVO"]},{"type":"null"}],"title":"Salida Destino"},"salida_columna":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Salida Columna"},"formato_salida":{"anyOf":[{"type":"string","enum":["TEXTO","JSON"]},{"type":"null"}],"title":"Formato Salida"},"tipo_acceso":{"anyOf":[{"type":"string","enum":["USUARIO","ADMINISTRADOR","SISTEMA"]},{"type":"null"}],"title":"Tipo Acceso"},"inyectar_contexto":{"anyOf":[{"type":"string","enum":["NONE","ORGANIZATION","FULL"]},{"type":"null"}],"title":"Inyectar Contexto"},"modo_cache":{"anyOf":[{"type":"string","enum":["AUTO","NO_ESCRIBIR"]},{"type":"null"}],"title":"Modo Cache"},"preguntas":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Preguntas"}},"type":"object","title":"HabilidadUpdate"},"HeartbeatEstacion":{"properties":{"version_runtime":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Version Runtime"},"ultimo_error":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Ultimo Error"}},"type":"object","title":"HeartbeatEstacion"},"HeartbeatIntento":{"properties":{"lease_minutos":{"type":"integer","maximum":120.0,"minimum":10.0,"title":"Lease Minutos","default":30},"lease_token":{"type":"string","maxLength":300,"minLength":32,"title":"Lease Token"}},"type":"object","required":["lease_token"],"title":"HeartbeatIntento"},"HojaXlsxMetadata":{"properties":{"indice":{"type":"integer","title":"Indice"},"nombre_hoja":{"type":"string","title":"Nombre Hoja"},"rango":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rango"},"filas_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Filas Total"},"columnas_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Columnas Total"},"filas_extraidas":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Filas Extraidas"},"encabezados":{"items":{"type":"string"},"type":"array","title":"Encabezados"},"anios":{"items":{"type":"integer"},"type":"array","title":"Anios"},"fecha_desde":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Desde"},"fecha_hasta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Hasta"}},"type":"object","required":["indice","nombre_hoja"],"title":"HojaXlsxMetadata","description":"Resumen no textual de una hoja de cálculo extraído en el cliente."},"IncidenteLoginCreate":{"properties":{"error":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Error"},"error_description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Error Description"},"correo":{"anyOf":[{"type":"string","maxLength":320},{"type":"null"}],"title":"Correo"},"correo_intentado":{"anyOf":[{"type":"string","maxLength":320},{"type":"null"}],"title":"Correo Intentado"},"proveedor":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Proveedor"},"url":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Url"},"iniciado_en":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Iniciado En"},"id_correlacion":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Id Correlacion"},"idioma":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Idioma"},"user_agent":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"User Agent"}},"type":"object","title":"IncidenteLoginCreate","description":"Falla de autenticación detectada en la pantalla de callback OAuth.\n\nEs PÚBLICO: no hay sesión (el login justamente falló). El frontend lo manda\ncon el error que Supabase devolvió en la URL del callback."},"IncidenteLoginResponse":{"properties":{"codigo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso"},"creado":{"type":"boolean","title":"Creado"}},"type":"object","required":["codigo_proceso","creado"],"title":"IncidenteLoginResponse"},"InicializarColaResponse":{"properties":{"encolados":{"type":"integer","title":"Encolados"},"omitidos":{"type":"integer","title":"Omitidos"},"total":{"type":"integer","title":"Total"},"codigo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso"}},"type":"object","required":["encolados","omitidos","total"],"title":"InicializarColaResponse"},"InicializarPorEstadoRequest":{"properties":{"estado_origen":{"type":"string","title":"Estado Origen"},"estado_destino":{"type":"string","title":"Estado Destino"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"tope":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tope"},"codigo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"},"q":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"},"codigo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso"},"codigo_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"},"opciones":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Opciones"},"pausar_ingesta":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pausar Ingesta","default":true}},"type":"object","required":["estado_origen","estado_destino"],"title":"InicializarPorEstadoRequest"},"IniciarCorridaFuenteRequest":{"properties":{"codigo_conexion_fuente":{"anyOf":[{"type":"string","maxLength":64,"minLength":1},{"type":"null"}],"title":"Codigo Conexion Fuente"},"codigo_fuente":{"anyOf":[{"type":"string","enum":["FILES","GOOGLE_DRIVE","DROPBOX"]},{"type":"null"}],"title":"Codigo Fuente"},"ref_fuente":{"anyOf":[{"type":"string","maxLength":500,"minLength":1},{"type":"null"}],"title":"Ref Fuente"},"codigo_ubicacion":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Codigo Ubicacion"}},"additionalProperties":false,"type":"object","title":"IniciarCorridaFuenteRequest","description":"La corrida es de una conexión: por su código, o por plataforma + ref + raíz.\n\nCon la segunda forma Cloud crea la conexión si aún no existe. El tenant\nnunca viaja: sale del usuario autenticado."},"InterAmbienteDestinatario":{"properties":{"codigo_usuario_asignado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario Asignado"},"codigo_area_asignada":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area Asignada"},"codigo_rol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Rol"}},"type":"object","title":"InterAmbienteDestinatario"},"InterAmbienteEmisor":{"properties":{"codigo_usuario":{"type":"string","title":"Codigo Usuario"},"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"},"codigo_rol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Rol"}},"type":"object","required":["codigo_usuario"],"title":"InterAmbienteEmisor"},"InterAmbienteResponse":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"},"codigo_correlacion":{"type":"string","title":"Codigo Correlacion"},"codigo_estado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado"},"ambiente_origen":{"type":"string","title":"Ambiente Origen"},"ambiente_destino":{"type":"string","title":"Ambiente Destino"},"creado":{"type":"boolean","title":"Creado","default":false},"encolado":{"type":"boolean","title":"Encolado","default":false},"ignorado":{"type":"boolean","title":"Ignorado","default":false}},"type":"object","required":["codigo_proceso","codigo_correlacion","ambiente_origen","ambiente_destino"],"title":"InterAmbienteResponse"},"InterfazConversacionCreate":{"properties":{"codigo_funcion":{"type":"string","title":"Codigo Funcion"},"titulo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Titulo"}},"type":"object","required":["codigo_funcion"],"title":"InterfazConversacionCreate"},"InterfazConversacionDetalle":{"properties":{"id_conversacion":{"type":"integer","title":"Id Conversacion"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_usuario":{"type":"string","title":"Codigo Usuario"},"codigo_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"},"nombre_modelo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Modelo"},"titulo":{"type":"string","title":"Titulo"},"fecha_creacion":{"type":"string","format":"date-time","title":"Fecha Creacion"},"fecha_actualizacion":{"type":"string","format":"date-time","title":"Fecha Actualizacion"},"mensajes":{"items":{"$ref":"#/components/schemas/InterfazMensajeResponse"},"type":"array","title":"Mensajes","default":[]}},"type":"object","required":["id_conversacion","codigo_grupo","codigo_usuario","titulo","fecha_creacion","fecha_actualizacion"],"title":"InterfazConversacionDetalle"},"InterfazConversacionResponse":{"properties":{"id_conversacion":{"type":"integer","title":"Id Conversacion"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_usuario":{"type":"string","title":"Codigo Usuario"},"codigo_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"},"nombre_modelo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Modelo"},"titulo":{"type":"string","title":"Titulo"},"fecha_creacion":{"type":"string","format":"date-time","title":"Fecha Creacion"},"fecha_actualizacion":{"type":"string","format":"date-time","title":"Fecha Actualizacion"}},"type":"object","required":["id_conversacion","codigo_grupo","codigo_usuario","titulo","fecha_creacion","fecha_actualizacion"],"title":"InterfazConversacionResponse"},"InterfazConversacionUpdate":{"properties":{"titulo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Titulo"}},"type":"object","title":"InterfazConversacionUpdate"},"InterfazMensajeRequest":{"properties":{"contenido":{"type":"string","title":"Contenido"},"modo":{"anyOf":[{"type":"string","const":"AYUDA"},{"type":"null"}],"title":"Modo"}},"type":"object","required":["contenido"],"title":"InterfazMensajeRequest"},"InterfazMensajeResponse":{"properties":{"id_mensaje":{"type":"integer","title":"Id Mensaje"},"id_conversacion":{"type":"integer","title":"Id Conversacion"},"rol":{"type":"string","title":"Rol"},"contenido":{"type":"string","title":"Contenido"},"fecha_creacion":{"type":"string","format":"date-time","title":"Fecha Creacion"}},"type":"object","required":["id_mensaje","id_conversacion","rol","contenido","fecha_creacion"],"title":"InterfazMensajeResponse"},"InventarioEscaneoRequest":{"properties":{"codigo_escaneo":{"type":"string","maxLength":64,"minLength":1,"title":"Codigo Escaneo","description":"Id del escaneo en curso; agrupa las páginas de un mismo recorrido."},"archivos":{"items":{"$ref":"#/components/schemas/ArchivoParaCargar"},"type":"array","title":"Archivos"}},"type":"object","required":["codigo_escaneo","archivos"],"title":"InventarioEscaneoRequest","description":"Una PÁGINA del inventario de un escaneo, acumulada en staging."},"InventarioEscaneoResponse":{"properties":{"registrados":{"type":"integer","title":"Registrados"}},"type":"object","required":["registrados"],"title":"InventarioEscaneoResponse"},"InvestigarUbicacionesWebRequest":{"properties":{"codigo_habilidad":{"type":"string","title":"Codigo Habilidad"},"regulacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Regulacion"},"tipo_tercero":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Tercero"},"objetivo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Objetivo"},"profundidad":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Profundidad","default":1},"alcance":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alcance"},"codigo_ubicacion_padre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion Padre"}},"type":"object","required":["codigo_habilidad"],"title":"InvestigarUbicacionesWebRequest"},"InvestigarUbicacionesWebResponse":{"properties":{"codigo_habilidad":{"type":"string","title":"Codigo Habilidad"},"codigo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso"},"propuesta":{"additionalProperties":true,"type":"object","title":"Propuesta"}},"type":"object","required":["codigo_habilidad","propuesta"],"title":"InvestigarUbicacionesWebResponse"},"ItemFuenteRequest":{"properties":{"id_externo":{"type":"string","maxLength":500,"minLength":1,"title":"Id Externo"},"tipo":{"type":"string","enum":["UBICACION","DOCUMENTO"],"title":"Tipo"},"nombre":{"type":"string","maxLength":500,"minLength":1,"title":"Nombre"},"ruta_relativa":{"type":"string","maxLength":500,"title":"Ruta Relativa","default":""},"version":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Version"},"tamano_bytes":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Tamano Bytes"},"fecha_modificacion":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fecha Modificacion"}},"additionalProperties":false,"type":"object","required":["id_externo","tipo","nombre"],"title":"ItemFuenteRequest"},"ItemNoProcesable":{"properties":{"codigo_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Documento"},"nombre_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Documento"},"codigo_estado_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Doc"},"motivo":{"type":"string","title":"Motivo"}},"type":"object","required":["motivo"],"title":"ItemNoProcesable","description":"Documento/ítem descartado en la selección (p.ej. no alcanza estado mínimo)."},"LLMCerrarLoteItem":{"properties":{"event_id":{"type":"string","title":"Event Id"},"ok":{"type":"boolean","title":"Ok"},"duplicado":{"type":"boolean","title":"Duplicado","default":false},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error","description":"Detalle si el evento falló."}},"type":"object","required":["event_id","ok"],"title":"LLMCerrarLoteItem"},"LLMCerrarLoteRequest":{"properties":{"client_id":{"type":"string","maxLength":80,"minLength":1,"title":"Client Id"},"eventos":{"items":{"$ref":"#/components/schemas/EventoUsoLLMEntrada"},"type":"array","maxItems":100,"minItems":1,"title":"Eventos"}},"type":"object","required":["client_id","eventos"],"title":"LLMCerrarLoteRequest","description":"Paquete de eventos del outbox local del Desktop (o de cualquier otro\nclient_id). Tope 1..100 eventos y 1..1000 buckets totales por request —\nmismo orden de magnitud que el resto del transporte por lote (E6)."},"LLMCerrarLoteResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"resultados":{"items":{"$ref":"#/components/schemas/LLMCerrarLoteItem"},"type":"array","title":"Resultados"}},"type":"object","required":["ok","resultados"],"title":"LLMCerrarLoteResponse"},"LeerMailRequest":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"},"max_results":{"type":"integer","title":"Max Results","default":20}},"type":"object","required":["codigo_proceso"],"title":"LeerMailRequest"},"LiberarObservadorDesktopRespuesta":{"properties":{"ok":{"type":"boolean","title":"Ok"},"liberados":{"type":"integer","title":"Liberados"}},"type":"object","required":["ok","liberados"],"title":"LiberarObservadorDesktopRespuesta"},"LimpiarCompletadosResponse":{"properties":{"eliminados":{"type":"integer","title":"Eliminados"}},"type":"object","required":["eliminados"],"title":"LimpiarCompletadosResponse"},"LimpiarRequest":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"}},"type":"object","required":["codigo_proceso"],"title":"LimpiarRequest"},"ListarNodosResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"nodos":{"items":{"$ref":"#/components/schemas/NodoResponse"},"type":"array","title":"Nodos"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["ok","nodos","total"],"title":"ListarNodosResponse"},"LocaleCreate":{"properties":{"codigo":{"type":"string","title":"Codigo"},"nombre_nativo":{"type":"string","title":"Nombre Nativo"},"nombre_es":{"type":"string","title":"Nombre Es"},"orden":{"type":"integer","title":"Orden","default":100}},"type":"object","required":["codigo","nombre_nativo","nombre_es"],"title":"LocaleCreate"},"LocaleUpdate":{"properties":{"nombre_nativo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Nativo"},"nombre_es":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Es"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"}},"type":"object","title":"LocaleUpdate"},"LoginRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"LoginRequest"},"LoginResponse":{"properties":{"access_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"},"token_type":{"type":"string","title":"Token Type","default":"bearer"},"expires_in":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expires In"},"mfa_required":{"type":"boolean","title":"Mfa Required","default":false},"factor_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Factor Id"}},"type":"object","title":"LoginResponse","description":"Respuesta de POST /auth/login.\n\nCamino normal (sin MFA o usuario sin factor): `access_token` + `expires_in`,\n`mfa_required=False` — retrocompatible con clientes que solo leen access_token.\n\nCamino MFA (el usuario activó un factor TOTP): `mfa_required=True` y `factor_id`.\nEl `access_token` devuelto es aal1 y NO sirve para operar (get_current_user lo\nrechaza mientras el factor no se verifique); solo se usa como Bearer para\ncompletar `POST /auth/mfa/challenge` + `POST /auth/mfa/verify`, que devuelven el\ntoken aal2 definitivo."},"LoteAutoRequest":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"}},"type":"object","required":["codigo_proceso"],"title":"LoteAutoRequest"},"LoteEfectivoResponse":{"properties":{"tope":{"type":"integer","title":"Tope"},"n_lote_efectivo":{"type":"integer","title":"N Lote Efectivo"},"metadata":{"type":"integer","title":"Metadata"},"seg_silencio_carga":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Seg Silencio Carga"},"seg_silencio_metadata":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Seg Silencio Metadata"},"silencio_seg":{"type":"integer","title":"Silencio Seg"},"ultimo_cierre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultimo Cierre"},"accion":{"type":"string","title":"Accion"},"motivo_cierre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Motivo Cierre"},"puede_extraer":{"type":"boolean","title":"Puede Extraer"},"cupo_extraer":{"type":"integer","title":"Cupo Extraer"},"id_espacio_inferencias":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Espacio Inferencias"}},"type":"object","required":["tope","n_lote_efectivo","metadata","silencio_seg","accion","puede_extraer","cupo_extraer"],"title":"LoteEfectivoResponse"},"LoteFuenteRequest":{"properties":{"secuencia":{"type":"integer","minimum":1.0,"title":"Secuencia"},"items":{"items":{"$ref":"#/components/schemas/ItemFuenteRequest"},"type":"array","maxItems":1000,"title":"Items"},"cursor_siguiente":{"anyOf":[{"type":"string"},{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Cursor Siguiente"},"final":{"type":"boolean","title":"Final"},"eliminados":{"items":{"type":"string"},"type":"array","maxItems":1000,"title":"Eliminados"},"cursor_delta":{"anyOf":[{"type":"string"},{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Cursor Delta"}},"additionalProperties":false,"type":"object","required":["secuencia","final"],"title":"LoteFuenteRequest"},"MFAChallengeRequest":{"properties":{"factor_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Factor Id"}},"type":"object","title":"MFAChallengeRequest"},"MFAChallengeResponse":{"properties":{"factor_id":{"type":"string","title":"Factor Id"},"challenge_id":{"type":"string","title":"Challenge Id"},"expires_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expires At"}},"type":"object","required":["factor_id","challenge_id"],"title":"MFAChallengeResponse"},"MFAEnrollRequest":{"properties":{"friendly_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Friendly Name"}},"type":"object","title":"MFAEnrollRequest"},"MFAEnrollResponse":{"properties":{"factor_id":{"type":"string","title":"Factor Id"},"qr_code":{"type":"string","title":"Qr Code"},"secret":{"type":"string","title":"Secret"},"uri":{"type":"string","title":"Uri"}},"type":"object","required":["factor_id","qr_code","secret","uri"],"title":"MFAEnrollResponse"},"MFAFactor":{"properties":{"id":{"type":"string","title":"Id"},"friendly_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Friendly Name"},"status":{"type":"string","title":"Status"},"factor_type":{"type":"string","title":"Factor Type","default":"totp"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","status"],"title":"MFAFactor"},"MFAFactorsResponse":{"properties":{"factors":{"items":{"$ref":"#/components/schemas/MFAFactor"},"type":"array","title":"Factors","default":[]},"tiene_verificado":{"type":"boolean","title":"Tiene Verificado","default":false}},"type":"object","title":"MFAFactorsResponse"},"MFAUnenrollRequest":{"properties":{"factor_id":{"type":"string","title":"Factor Id"}},"type":"object","required":["factor_id"],"title":"MFAUnenrollRequest"},"MFAVerifyRequest":{"properties":{"factor_id":{"type":"string","title":"Factor Id"},"challenge_id":{"type":"string","title":"Challenge Id"},"code":{"type":"string","title":"Code"}},"type":"object","required":["factor_id","challenge_id","code"],"title":"MFAVerifyRequest"},"MFAVerifyResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"type":"string","title":"Refresh Token"},"expires_in":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expires In"},"aal":{"type":"string","title":"Aal","default":"aal2"}},"type":"object","required":["access_token","refresh_token"],"title":"MFAVerifyResponse"},"MapaDualCreate":{"properties":{"codigo_tipo_artefacto":{"type":"string","title":"Codigo Tipo Artefacto"},"nombre_tipo_artefacto":{"type":"string","title":"Nombre Tipo Artefacto"},"familia_artefacto":{"type":"string","enum":["AGENTE","SKILL","PROCESO","GOBIERNO","MEMORIA","DOCUMENTACION","OTRO"],"title":"Familia Artefacto","default":"OTRO"},"directorio_base":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Directorio Base"},"patron_archivo":{"type":"string","title":"Patron Archivo"},"md_export_path_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md Export Path Template"},"tabla_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tabla Destino"},"pk_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pk Destino"},"md_fuente_verdad_default":{"type":"string","enum":["TEXTO","BD","MIXTA"],"title":"Md Fuente Verdad Default","default":"TEXTO"},"md_modo_bd_default":{"type":"string","enum":["REFERENCIA","INVENTARIO","PROYECCION","OPERATIVO"],"title":"Md Modo Bd Default","default":"REFERENCIA"},"md_sync_default":{"type":"string","enum":["MANUAL","TEXTO_A_BD","BD_A_TEXTO","BIDIRECCIONAL"],"title":"Md Sync Default","default":"MANUAL"},"parser":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parser"},"exportador":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Exportador"},"habilitado":{"type":"boolean","title":"Habilitado","default":true},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","required":["codigo_tipo_artefacto","nombre_tipo_artefacto","patron_archivo"],"title":"MapaDualCreate"},"MapaDualOrden":{"properties":{"codigo_tipo_artefacto":{"type":"string","title":"Codigo Tipo Artefacto"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["codigo_tipo_artefacto","orden"],"title":"MapaDualOrden"},"MapaDualResponse":{"properties":{"codigo_tipo_artefacto":{"type":"string","title":"Codigo Tipo Artefacto"},"nombre_tipo_artefacto":{"type":"string","title":"Nombre Tipo Artefacto"},"familia_artefacto":{"type":"string","enum":["AGENTE","SKILL","PROCESO","GOBIERNO","MEMORIA","DOCUMENTACION","OTRO"],"title":"Familia Artefacto","default":"OTRO"},"directorio_base":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Directorio Base"},"patron_archivo":{"type":"string","title":"Patron Archivo"},"md_export_path_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md Export Path Template"},"tabla_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tabla Destino"},"pk_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pk Destino"},"md_fuente_verdad_default":{"type":"string","enum":["TEXTO","BD","MIXTA"],"title":"Md Fuente Verdad Default","default":"TEXTO"},"md_modo_bd_default":{"type":"string","enum":["REFERENCIA","INVENTARIO","PROYECCION","OPERATIVO"],"title":"Md Modo Bd Default","default":"REFERENCIA"},"md_sync_default":{"type":"string","enum":["MANUAL","TEXTO_A_BD","BD_A_TEXTO","BIDIRECCIONAL"],"title":"Md Sync Default","default":"MANUAL"},"parser":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parser"},"exportador":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Exportador"},"habilitado":{"type":"boolean","title":"Habilitado","default":true},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"fecha_creacion":{"type":"string","format":"date-time","title":"Fecha Creacion"},"fecha_modificacion":{"type":"string","format":"date-time","title":"Fecha Modificacion"}},"type":"object","required":["codigo_tipo_artefacto","nombre_tipo_artefacto","patron_archivo","fecha_creacion","fecha_modificacion"],"title":"MapaDualResponse"},"MapaDualUpdate":{"properties":{"nombre_tipo_artefacto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Tipo Artefacto"},"familia_artefacto":{"anyOf":[{"type":"string","enum":["AGENTE","SKILL","PROCESO","GOBIERNO","MEMORIA","DOCUMENTACION","OTRO"]},{"type":"null"}],"title":"Familia Artefacto"},"directorio_base":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Directorio Base"},"patron_archivo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Patron Archivo"},"md_export_path_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md Export Path Template"},"tabla_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tabla Destino"},"pk_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pk Destino"},"md_fuente_verdad_default":{"anyOf":[{"type":"string","enum":["TEXTO","BD","MIXTA"]},{"type":"null"}],"title":"Md Fuente Verdad Default"},"md_modo_bd_default":{"anyOf":[{"type":"string","enum":["REFERENCIA","INVENTARIO","PROYECCION","OPERATIVO"]},{"type":"null"}],"title":"Md Modo Bd Default"},"md_sync_default":{"anyOf":[{"type":"string","enum":["MANUAL","TEXTO_A_BD","BD_A_TEXTO","BIDIRECCIONAL"]},{"type":"null"}],"title":"Md Sync Default"},"parser":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parser"},"exportador":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Exportador"},"habilitado":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Habilitado"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","title":"MapaDualUpdate"},"MarcarAplicadosRequest":{"properties":{"locales":{"items":{"type":"string"},"type":"array","title":"Locales"},"sha_commit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sha Commit"}},"type":"object","required":["locales"],"title":"MarcarAplicadosRequest"},"MarcarRevisarRequest":{"properties":{"codigo_documento":{"type":"string","title":"Codigo Documento"},"detalle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detalle"}},"type":"object","required":["codigo_documento"],"title":"MarcarRevisarRequest"},"MarcarRevisarResponse":{"properties":{"marcados":{"type":"integer","title":"Marcados"},"omitidos":{"type":"integer","title":"Omitidos","default":0}},"type":"object","required":["marcados"],"title":"MarcarRevisarResponse"},"MaterializarUbicacionesWebRequest":{"properties":{"nodos":{"items":{"$ref":"#/components/schemas/NodoWebAprobado"},"type":"array","title":"Nodos"}},"type":"object","required":["nodos"],"title":"MaterializarUbicacionesWebRequest"},"MaterializarUbicacionesWebResponse":{"properties":{"creadas":{"type":"integer","title":"Creadas"},"reutilizadas":{"type":"integer","title":"Reutilizadas"},"codigos":{"additionalProperties":{"type":"string"},"type":"object","title":"Codigos"}},"type":"object","required":["creadas","reutilizadas","codigos"],"title":"MaterializarUbicacionesWebResponse"},"MetadataXlsx":{"properties":{"formato":{"type":"string","title":"Formato","default":"XLSX"},"cantidad_hojas":{"type":"integer","title":"Cantidad Hojas"},"nombres_hojas":{"items":{"type":"string"},"type":"array","title":"Nombres Hojas"},"anios":{"items":{"type":"integer"},"type":"array","title":"Anios"},"fecha_desde":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Desde"},"fecha_hasta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Hasta"},"hojas":{"items":{"$ref":"#/components/schemas/HojaXlsxMetadata"},"type":"array","title":"Hojas"}},"type":"object","required":["cantidad_hojas"],"title":"MetadataXlsx","description":"Índice estructural de un workbook, sin celdas ni datos financieros."},"MonitorCronResponse":{"properties":{"generado_en":{"type":"string","title":"Generado En"},"total_tipos_cron":{"type":"integer","title":"Total Tipos Cron"},"activos":{"type":"integer","title":"Activos"},"pausados":{"type":"integer","title":"Pausados"},"implementados":{"type":"integer","title":"Implementados"},"ejecuciones_7d":{"type":"integer","title":"Ejecuciones 7D"},"exitos_7d":{"type":"integer","title":"Exitos 7D"},"fallos_7d":{"type":"integer","title":"Fallos 7D"},"ultimo_disparo_global":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultimo Disparo Global"},"alertas":{"items":{"$ref":"#/components/schemas/AlertaCron"},"type":"array","title":"Alertas","default":[]},"tipos":{"items":{"$ref":"#/components/schemas/TipoCron"},"type":"array","title":"Tipos","default":[]},"estaciones":{"items":{"$ref":"#/components/schemas/EstacionEjecucionCron"},"type":"array","title":"Estaciones","default":[]},"perfiles_servicio":{"items":{"$ref":"#/components/schemas/PerfilServicioEjecucion"},"type":"array","title":"Perfiles Servicio","default":[]}},"type":"object","required":["generado_en","total_tipos_cron","activos","pausados","implementados","ejecuciones_7d","exitos_7d","fallos_7d"],"title":"MonitorCronResponse"},"MoverDocumentoItem":{"properties":{"codigo_documento":{"type":"string","title":"Codigo Documento"},"ubicacion_documento":{"type":"string","title":"Ubicacion Documento"},"codigo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"},"nombre_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Documento"}},"type":"object","required":["codigo_documento","ubicacion_documento"],"title":"MoverDocumentoItem"},"MoverDocumentosRequest":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"movimientos":{"items":{"$ref":"#/components/schemas/MoverDocumentoItem"},"type":"array","title":"Movimientos"}},"type":"object","required":["codigo_grupo","movimientos"],"title":"MoverDocumentosRequest"},"NodoResponse":{"properties":{"codigo_nodo":{"type":"string","title":"Codigo Nodo"},"tipo_nodo":{"type":"string","title":"Tipo Nodo"},"workers_perfil":{"type":"string","title":"Workers Perfil"},"workers_overrides":{"additionalProperties":true,"type":"object","title":"Workers Overrides"},"hardware_detectado":{"additionalProperties":true,"type":"object","title":"Hardware Detectado"},"modo_continuo":{"type":"string","title":"Modo Continuo","default":"HEREDA"},"estado_conductor":{"additionalProperties":true,"type":"object","title":"Estado Conductor"},"ultima_actualizacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultima Actualizacion"},"fecha_creacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Creacion"}},"type":"object","required":["codigo_nodo","tipo_nodo","workers_perfil","workers_overrides","hardware_detectado"],"title":"NodoResponse"},"NodoWebAprobado":{"properties":{"nombre":{"type":"string","title":"Nombre"},"url":{"type":"string","title":"Url"},"id_persona":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Persona"},"url_padre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Padre"},"codigo_ubicacion_padre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion Padre"},"codigo_habilidad_adquisicion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Habilidad Adquisicion"},"configuracion_adquisicion":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Configuracion Adquisicion"}},"type":"object","required":["nombre","url"],"title":"NodoWebAprobado"},"Objetivo":{"properties":{"tipo_objetivo":{"type":"string","enum":["DOCUMENTO","ESPACIO","TEXTO"],"title":"Tipo Objetivo"},"selector":{"additionalProperties":true,"type":"object","title":"Selector"}},"type":"object","required":["tipo_objetivo","selector"],"title":"Objetivo","description":"Qué recibe la capability. Genérico (no casado a 'documento').\n\n- tipo_objetivo: DOCUMENTO | ESPACIO | TEXTO.\n- selector: identifica el/los objetivo(s) según el tipo. Ejemplos:\n    DOCUMENTO → {\"id_documento\": \"529\"} o {\"criterio_texto\": \"...\"}.\n    ESPACIO   → {\"id_espacio\": 12}.\n    TEXTO     → {\"texto\": \"...\"} (objetivos no-documento; ej. i18n a futuro).\nSe serializa tal cual a `procesos.datos` (jsonb)."},"ObservadorDesktopGrupo":{"properties":{"activo":{"type":"boolean","title":"Activo"},"codigo_nodo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Nodo"},"hostname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hostname"},"ultima_actualizacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultima Actualizacion"}},"type":"object","required":["activo"],"title":"ObservadorDesktopGrupo"},"ObservadorDesktopResponse":{"properties":{"activo":{"type":"boolean","title":"Activo"},"adquirido":{"type":"boolean","title":"Adquirido","default":false},"mensaje":{"type":"string","title":"Mensaje"}},"type":"object","required":["activo","mensaje"],"title":"ObservadorDesktopResponse"},"OpcionAreaVista":{"properties":{"codigo":{"type":"string","title":"Codigo"},"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"}},"type":"object","required":["codigo"],"title":"OpcionAreaVista"},"OpcionRolVista":{"properties":{"codigo":{"type":"string","title":"Codigo"},"tipo_acceso":{"type":"string","title":"Tipo Acceso"},"id_rol":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Rol"},"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"}},"type":"object","required":["codigo","tipo_acceso"],"title":"OpcionRolVista"},"OpcionesVista":{"properties":{"roles":{"items":{"$ref":"#/components/schemas/OpcionRolVista"},"type":"array","title":"Roles","default":[]},"areas":{"items":{"$ref":"#/components/schemas/OpcionAreaVista"},"type":"array","title":"Areas","default":[]}},"type":"object","title":"OpcionesVista"},"OperacionExpuesta":{"properties":{"method":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE"],"title":"Method"},"route":{"type":"string","maxLength":500,"pattern":"^/","title":"Route"},"public":{"type":"boolean","title":"Public"},"reason":{"anyOf":[{"type":"string","maxLength":300,"minLength":1},{"type":"null"}],"title":"Reason"},"kind":{"anyOf":[{"type":"string","enum":["read","write","write_confirm"]},{"type":"null"}],"title":"Kind"},"code":{"anyOf":[{"type":"string","maxLength":120,"pattern":"^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)+$"},{"type":"null"}],"title":"Code"}},"additionalProperties":false,"type":"object","required":["method","route","public"],"title":"OperacionExpuesta","description":"Una llamada remota de la interacción y su exposición a agentes.\n\nDos ejes ortogonales (decisión 4 de la Fase 0, 2026-09-12): se publica o no\n(con motivo); si se publica, `kind` es lectura, escritura o escritura que\nexige `confirm: true`."},"OrdenAlimentacion":{"properties":{"mensaje":{"type":"string","title":"Mensaje"},"contexto":{"additionalProperties":true,"type":"object","title":"Contexto","default":{}}},"type":"object","required":["mensaje"],"title":"OrdenAlimentacion"},"OrdenCaracteristica":{"properties":{"codigo_caracteristica":{"type":"string","title":"Codigo Caracteristica"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["codigo_caracteristica","orden"],"title":"OrdenCaracteristica"},"OrganizationDescriptionRequest":{"properties":{"website_url":{"anyOf":[{"type":"string","maxLength":2048,"minLength":1},{"type":"null"}],"title":"Website Url"}},"type":"object","title":"OrganizationDescriptionRequest","description":"De dónde sale el borrador de la descripción.\n\nCon `website_url` se lee esa página pública. Sin ella, la fuente es el propio\narchivo ya analizado: el catálogo de tipos de documento y los tipos de\ncaracterística de la organización (PLAN_GLOSARIO_ENTES_Y_FLUJOS F1.0). El\ncampo quedó opcional para eso; antes era obligatorio y la única fuente era el\nsitio, que muchas organizaciones no tienen o no usan para hablar de su trabajo."},"OrganizationDescriptionResponse":{"properties":{"description":{"type":"string","title":"Description"},"summary":{"type":"string","title":"Summary","default":""},"source_url":{"type":"string","title":"Source Url"},"source":{"type":"string","title":"Source","default":"WEB"},"documents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Documents"}},"type":"object","required":["description","source_url"],"title":"OrganizationDescriptionResponse"},"PaginaVerificada":{"properties":{"pagina":{"type":"string","title":"Pagina"},"sha":{"type":"string","title":"Sha"},"huella_pagina":{"type":"string","title":"Huella Pagina"},"completa":{"type":"boolean","title":"Completa"},"afirmaciones":{"items":{"$ref":"#/components/schemas/AfirmacionOperacion"},"type":"array","title":"Afirmaciones"},"dependencias_no_resueltas":{"items":{"type":"string"},"type":"array","title":"Dependencias No Resueltas"}},"additionalProperties":false,"type":"object","required":["pagina","sha","huella_pagina","completa","afirmaciones"],"title":"PaginaVerificada"},"PaqueteCodigosRequest":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"tipo":{"type":"string","title":"Tipo","default":"documento"}},"type":"object","required":["codigo_grupo"],"title":"PaqueteCodigosRequest"},"ParametroAppAsignar":{"properties":{"categoria_parametro":{"type":"string","title":"Categoria Parametro"},"tipo_parametro":{"type":"string","title":"Tipo Parametro"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"}},"type":"object","required":["categoria_parametro","tipo_parametro"],"title":"ParametroAppAsignar"},"ParametroAppOrden":{"properties":{"categoria_parametro":{"type":"string","title":"Categoria Parametro"},"tipo_parametro":{"type":"string","title":"Tipo Parametro"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["categoria_parametro","tipo_parametro","orden"],"title":"ParametroAppOrden"},"ParametroEntidadCreate":{"properties":{"categoria_parametro":{"type":"string","title":"Categoria Parametro"},"tipo_parametro":{"type":"string","title":"Tipo Parametro"},"valor_parametro":{"type":"string","title":"Valor Parametro"}},"type":"object","required":["categoria_parametro","tipo_parametro","valor_parametro"],"title":"ParametroEntidadCreate"},"ParametroEntidadResponse":{"properties":{"codigo_entidad":{"type":"string","title":"Codigo Entidad"},"categoria_parametro":{"type":"string","title":"Categoria Parametro"},"tipo_parametro":{"type":"string","title":"Tipo Parametro"},"valor_parametro":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Parametro"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"visible":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Visible","default":true},"editable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Editable","default":true},"es_privado":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Es Privado","default":false},"tipo_widget":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Widget"}},"type":"object","required":["codigo_entidad","categoria_parametro","tipo_parametro"],"title":"ParametroEntidadResponse"},"ParametroGeneralUpsert":{"properties":{"categoria_parametro":{"type":"string","title":"Categoria Parametro"},"tipo_parametro":{"type":"string","title":"Tipo Parametro"},"valor_parametro":{"type":"string","title":"Valor Parametro"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"}},"type":"object","required":["categoria_parametro","tipo_parametro","valor_parametro"],"title":"ParametroGeneralUpsert"},"ParametroGrupoCreate":{"properties":{"categoria_parametro":{"type":"string","title":"Categoria Parametro"},"tipo_parametro":{"type":"string","title":"Tipo Parametro"},"valor_parametro":{"type":"string","title":"Valor Parametro"}},"type":"object","required":["categoria_parametro","tipo_parametro","valor_parametro"],"title":"ParametroGrupoCreate"},"ParametroGrupoResponse":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"categoria_parametro":{"type":"string","title":"Categoria Parametro"},"tipo_parametro":{"type":"string","title":"Tipo Parametro"},"valor_parametro":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Parametro"}},"type":"object","required":["codigo_grupo","categoria_parametro","tipo_parametro"],"title":"ParametroGrupoResponse"},"ParametroOrden":{"properties":{"categoria_parametro":{"type":"string","title":"Categoria Parametro"},"tipo_parametro":{"type":"string","title":"Tipo Parametro"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["categoria_parametro","tipo_parametro","orden"],"title":"ParametroOrden"},"ParametroUpsert":{"properties":{"categoria_parametro":{"type":"string","title":"Categoria Parametro"},"tipo_parametro":{"type":"string","title":"Tipo Parametro"},"valor_parametro":{"type":"string","title":"Valor Parametro"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","required":["categoria_parametro","tipo_parametro","valor_parametro"],"title":"ParametroUpsert"},"PatchFilaRequest":{"properties":{"tabla":{"type":"string","title":"Tabla"},"pk_columna":{"type":"string","title":"Pk Columna"},"pk_valor":{"type":"string","title":"Pk Valor"},"campos":{"additionalProperties":true,"type":"object","title":"Campos"}},"type":"object","required":["tabla","pk_columna","pk_valor","campos"],"title":"PatchFilaRequest"},"PausarIngestaRequest":{"properties":{"pausar":{"type":"boolean","title":"Pausar","default":true}},"type":"object","title":"PausarIngestaRequest"},"PausarIngestaResponse":{"properties":{"pausada":{"type":"boolean","title":"Pausada"}},"type":"object","required":["pausada"],"title":"PausarIngestaResponse"},"PerfilEjecucion":{"type":"string","enum":["AGENT_CLOUD","DESKTOP_ANALYSIS","DESKTOP_CODE","DESKTOP_BROWSER"],"title":"PerfilEjecucion"},"PerfilServicioEjecucion":{"properties":{"codigo_usuario":{"type":"string","title":"Codigo Usuario"},"nombre":{"type":"string","title":"Nombre"}},"type":"object","required":["codigo_usuario","nombre"],"title":"PerfilServicioEjecucion"},"PerfilUpdate":{"properties":{"descripcion_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Grupo"},"system_prompt_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt Grupo"},"descripcion_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Entidad"},"system_prompt_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt Entidad"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}},"type":"object","title":"PerfilUpdate","description":"`None` = no tocar ese campo. Cadena vacía = borrarlo."},"PersonDocumentMetadata":{"properties":{"person_id":{"type":"integer","title":"Person Id"},"name":{"type":"string","title":"Name"},"relationship_types":{"items":{"type":"string"},"type":"array","title":"Relationship Types"},"public_identifiers":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Public Identifiers"}},"type":"object","required":["person_id","name"],"title":"PersonDocumentMetadata"},"PersonaCreate":{"properties":{"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"nombre":{"type":"string","title":"Nombre"},"codigo_tipo_identificador":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Identificador"},"identificador":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identificador"},"correo_persona":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Correo Persona"}},"type":"object","required":["nombre"],"title":"PersonaCreate"},"PersonaResponse":{"properties":{"id_persona":{"type":"integer","title":"Id Persona"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"nombre":{"type":"string","title":"Nombre"},"codigo_tipo_identificador":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Identificador"},"identificador":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identificador"},"correo_persona":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Correo Persona"}},"type":"object","required":["id_persona","codigo_grupo","nombre"],"title":"PersonaResponse"},"PersonaUpdate":{"properties":{"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"codigo_tipo_identificador":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Identificador"},"identificador":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identificador"},"correo_persona":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Correo Persona"}},"type":"object","title":"PersonaUpdate"},"PlanCreate":{"properties":{"codigo_plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Plan"},"codigo_plan_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Plan Superior"},"nombre":{"type":"string","title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"mensaje_bienvenida":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mensaje Bienvenida"},"precio_mensual_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precio Mensual Usd"},"precio_anual_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precio Anual Usd"},"tokens_mensuales":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tokens Mensuales"},"documentos_maximos":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Documentos Maximos"},"dias_duracion":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dias Duracion"},"dias_gracia_renovacion":{"type":"integer","title":"Dias Gracia Renovacion","default":60},"orden":{"type":"integer","title":"Orden","default":0},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"type":"boolean","title":"Python Editado Manual","default":false},"javascript_editado_manual":{"type":"boolean","title":"Javascript Editado Manual","default":false}},"type":"object","required":["nombre"],"title":"PlanCreate"},"PlanResponse":{"properties":{"codigo_plan":{"type":"string","title":"Codigo Plan"},"codigo_plan_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Plan Superior"},"nombre":{"type":"string","title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"mensaje_bienvenida":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mensaje Bienvenida"},"precio_mensual_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precio Mensual Usd"},"precio_anual_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precio Anual Usd"},"tokens_mensuales":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tokens Mensuales"},"documentos_maximos":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Documentos Maximos"},"dias_duracion":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dias Duracion"},"dias_gracia_renovacion":{"type":"integer","title":"Dias Gracia Renovacion","default":60},"orden":{"type":"integer","title":"Orden","default":0},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"type":"boolean","title":"Python Editado Manual","default":false},"javascript_editado_manual":{"type":"boolean","title":"Javascript Editado Manual","default":false}},"type":"object","required":["codigo_plan","nombre"],"title":"PlanResponse"},"PlanUpdate":{"properties":{"codigo_plan_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Plan Superior"},"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"mensaje_bienvenida":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mensaje Bienvenida"},"precio_mensual_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precio Mensual Usd"},"precio_anual_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precio Anual Usd"},"tokens_mensuales":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tokens Mensuales"},"documentos_maximos":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Documentos Maximos"},"dias_duracion":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dias Duracion"},"dias_gracia_renovacion":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dias Gracia Renovacion"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"}},"type":"object","title":"PlanUpdate"},"PoliticaLimpieza":{"properties":{"codigo_tabla":{"type":"string","title":"Codigo Tabla"},"descripcion":{"type":"string","title":"Descripcion"},"modo":{"type":"string","enum":["TIEMPO","CANTIDAD"],"title":"Modo"},"valor":{"type":"integer","title":"Valor"},"preserva_agregado":{"type":"boolean","title":"Preserva Agregado"},"activa":{"type":"boolean","title":"Activa"},"ultima_ejecucion":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ultima Ejecucion"},"ultimas_filas_eliminadas":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ultimas Filas Eliminadas"}},"type":"object","required":["codigo_tabla","descripcion","modo","valor","preserva_agregado","activa"],"title":"PoliticaLimpieza"},"PoliticaUpdate":{"properties":{"modo":{"anyOf":[{"type":"string","enum":["TIEMPO","CANTIDAD"]},{"type":"null"}],"title":"Modo"},"valor":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Valor"},"activa":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Activa"}},"type":"object","title":"PoliticaUpdate"},"PosicionCreate":{"properties":{"codigo_posicion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Posicion"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"codigo_posicion_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Posicion Superior"},"tipo_posicion":{"type":"string","enum":["AGENTE","PERSONA"],"title":"Tipo Posicion","default":"AGENTE"},"nombre_posicion":{"type":"string","title":"Nombre Posicion"},"alias_posicion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Posicion"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"}},"type":"object","required":["nombre_posicion"],"title":"PosicionCreate"},"PosicionOrden":{"properties":{"codigo_posicion":{"type":"string","title":"Codigo Posicion"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["codigo_posicion","orden"],"title":"PosicionOrden"},"PosicionResponse":{"properties":{"codigo_posicion":{"type":"string","title":"Codigo Posicion"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"codigo_posicion_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Posicion Superior"},"tipo_posicion":{"type":"string","enum":["AGENTE","PERSONA"],"title":"Tipo Posicion","default":"AGENTE"},"nombre_posicion":{"type":"string","title":"Nombre Posicion"},"alias_posicion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Posicion"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"},"orden":{"type":"integer","title":"Orden","default":0}},"type":"object","required":["codigo_posicion","nombre_posicion"],"title":"PosicionResponse"},"PosicionUpdate":{"properties":{"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"codigo_posicion_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Posicion Superior"},"tipo_posicion":{"anyOf":[{"type":"string","enum":["AGENTE","PERSONA"]},{"type":"null"}],"title":"Tipo Posicion"},"nombre_posicion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Posicion"},"alias_posicion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Posicion"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"}},"type":"object","title":"PosicionUpdate"},"PrecioUpsert":{"properties":{"proveedor":{"type":"string","title":"Proveedor"},"nombre_tecnico":{"type":"string","title":"Nombre Tecnico"},"precio_input_1m":{"type":"number","title":"Precio Input 1M"},"precio_output_1m":{"type":"number","title":"Precio Output 1M"},"precio_cache_read_1m":{"type":"number","title":"Precio Cache Read 1M","default":0},"precio_cache_write_1m":{"type":"number","title":"Precio Cache Write 1M","default":0},"vigente_desde":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vigente Desde"}},"type":"object","required":["proveedor","nombre_tecnico","precio_input_1m","precio_output_1m"],"title":"PrecioUpsert"},"PrepararPrioritarioRequest":{"properties":{"ruta_completa":{"type":"string","title":"Ruta Completa"},"ruta_directorio":{"type":"string","title":"Ruta Directorio"},"nombre":{"type":"string","title":"Nombre"},"tamano_kb":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tamano Kb"},"fecha_modificacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Modificacion"}},"type":"object","required":["ruta_completa","ruta_directorio","nombre"],"title":"PrepararPrioritarioRequest"},"ProbarRequest":{"properties":{"mensaje":{"type":"string","title":"Mensaje","default":"Responde en una línea: confirma que estás funcionando."}},"type":"object","title":"ProbarRequest"},"ProbarResponse":{"properties":{"respuesta":{"type":"string","title":"Respuesta"},"tiempo_ms":{"type":"integer","title":"Tiempo Ms"},"modelo":{"type":"string","title":"Modelo"}},"type":"object","required":["respuesta","tiempo_ms","modelo"],"title":"ProbarResponse"},"ProcesoCategoriaConteo":{"properties":{"codigo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo"},"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["total"],"title":"ProcesoCategoriaConteo"},"ProcesoDashboardArea":{"properties":{"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"},"nombre_area":{"type":"string","title":"Nombre Area"},"total_pendientes":{"type":"integer","title":"Total Pendientes"},"total_errores":{"type":"integer","title":"Total Errores"},"total_soporte":{"type":"integer","title":"Total Soporte"},"total_correo":{"type":"integer","title":"Total Correo"},"por_tipo":{"items":{"$ref":"#/components/schemas/ProcesoDashboardConteo"},"type":"array","title":"Por Tipo"},"por_estado":{"items":{"$ref":"#/components/schemas/ProcesoDashboardConteo"},"type":"array","title":"Por Estado"},"criticos":{"items":{"$ref":"#/components/schemas/ProcesoDashboardCritico"},"type":"array","title":"Criticos"}},"type":"object","required":["nombre_area","total_pendientes","total_errores","total_soporte","total_correo","por_tipo","por_estado","criticos"],"title":"ProcesoDashboardArea"},"ProcesoDashboardAreasResponse":{"properties":{"total_pendientes":{"type":"integer","title":"Total Pendientes"},"total_areas":{"type":"integer","title":"Total Areas"},"sin_area":{"type":"integer","title":"Sin Area"},"areas":{"items":{"$ref":"#/components/schemas/ProcesoDashboardArea"},"type":"array","title":"Areas"},"criticos":{"items":{"$ref":"#/components/schemas/ProcesoDashboardCritico"},"type":"array","title":"Criticos"}},"type":"object","required":["total_pendientes","total_areas","sin_area","areas","criticos"],"title":"ProcesoDashboardAreasResponse"},"ProcesoDashboardCategoriaResponse":{"properties":{"dias":{"type":"integer","title":"Dias"},"desde":{"type":"string","title":"Desde"},"estados_filtro":{"items":{"type":"string"},"type":"array","title":"Estados Filtro"},"total":{"type":"integer","title":"Total"},"estados_canonicos":{"items":{"$ref":"#/components/schemas/ProcesoEstadoConteo"},"type":"array","title":"Estados Canonicos"},"por_categoria":{"items":{"$ref":"#/components/schemas/ProcesoCategoriaConteo"},"type":"array","title":"Por Categoria"},"por_tipo":{"items":{"$ref":"#/components/schemas/ProcesoTipoConteo"},"type":"array","title":"Por Tipo"}},"type":"object","required":["dias","desde","estados_filtro","total","estados_canonicos","por_categoria","por_tipo"],"title":"ProcesoDashboardCategoriaResponse"},"ProcesoDashboardConteo":{"properties":{"codigo":{"type":"string","title":"Codigo"},"codigo_categoria":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Categoria"},"nombre":{"type":"string","title":"Nombre"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["codigo","nombre","total"],"title":"ProcesoDashboardConteo"},"ProcesoDashboardCritico":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"},"nombre_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Proceso"},"codigo_categoria_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Proceso"},"codigo_estado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado"},"nombre_categoria":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Categoria"},"nombre_estado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Estado"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"},"nombre_area":{"type":"string","title":"Nombre Area"},"codigo_usuario_asignado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario Asignado"},"fecha_inicio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Inicio"},"fecha_comprometida":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Comprometida"},"puntaje_criticidad":{"type":"integer","title":"Puntaje Criticidad"}},"type":"object","required":["codigo_proceso","nombre_area","puntaje_criticidad"],"title":"ProcesoDashboardCritico"},"ProcesoDashboardPerfilCierresResponse":{"properties":{"codigo_usuario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"},"periodo":{"type":"string","title":"Periodo"},"total":{"type":"integer","title":"Total"},"periodos":{"items":{"$ref":"#/components/schemas/ProcesoPerfilCierrePeriodo"},"type":"array","title":"Periodos"}},"type":"object","required":["periodo","total","periodos"],"title":"ProcesoDashboardPerfilCierresResponse"},"ProcesoDashboardPerfilResponse":{"properties":{"codigo_usuario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"},"total_usuario":{"type":"integer","title":"Total Usuario"},"total_area":{"type":"integer","title":"Total Area"},"total_ambos":{"type":"integer","title":"Total Ambos"},"total_union":{"type":"integer","title":"Total Union"},"total_terminal_mes":{"type":"integer","title":"Total Terminal Mes"},"desde_mes":{"type":"string","title":"Desde Mes"},"por_clase":{"items":{"$ref":"#/components/schemas/ProcesoPerfilClase"},"type":"array","title":"Por Clase"},"por_estado":{"items":{"$ref":"#/components/schemas/ProcesoPerfilEstado"},"type":"array","title":"Por Estado"},"bandejas":{"items":{"$ref":"#/components/schemas/ProcesoPerfilBandeja"},"type":"array","title":"Bandejas","default":[]},"conteos_exactos":{"type":"boolean","title":"Conteos Exactos","default":true}},"type":"object","required":["total_usuario","total_area","total_ambos","total_union","total_terminal_mes","desde_mes","por_clase","por_estado"],"title":"ProcesoDashboardPerfilResponse"},"ProcesoDashboardPorEstadoResponse":{"properties":{"dias":{"type":"integer","title":"Dias"},"desde":{"type":"string","title":"Desde"},"total":{"type":"integer","title":"Total"},"por_estado":{"items":{"$ref":"#/components/schemas/ProcesoEstadoConteo"},"type":"array","title":"Por Estado"}},"type":"object","required":["dias","desde","total","por_estado"],"title":"ProcesoDashboardPorEstadoResponse"},"ProcesoEstadoConteo":{"properties":{"codigo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo"},"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"orden":{"type":"integer","title":"Orden"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["orden","total"],"title":"ProcesoEstadoConteo"},"ProcesoGrupoCreate":{"properties":{"codigo_proceso_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso Grupo"},"nombre_proceso_grupo":{"type":"string","title":"Nombre Proceso Grupo"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso","default":"USUARIO"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"id_proceso_grupo_superior":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Proceso Grupo Superior"}},"type":"object","required":["nombre_proceso_grupo"],"title":"ProcesoGrupoCreate"},"ProcesoGrupoOrden":{"properties":{"id_proceso_grupo":{"type":"integer","title":"Id Proceso Grupo"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["id_proceso_grupo","orden"],"title":"ProcesoGrupoOrden"},"ProcesoGrupoResponse":{"properties":{"id_proceso_grupo":{"type":"integer","title":"Id Proceso Grupo"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_entidad":{"type":"string","title":"Codigo Entidad"},"codigo_proceso_grupo":{"type":"string","title":"Codigo Proceso Grupo"},"nombre_proceso_grupo":{"type":"string","title":"Nombre Proceso Grupo"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"tipo_acceso":{"type":"string","title":"Tipo Acceso","default":"USUARIO"},"orden":{"type":"integer","title":"Orden","default":0},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"id_proceso_grupo_superior":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Proceso Grupo Superior"}},"type":"object","required":["id_proceso_grupo","codigo_grupo","codigo_entidad","codigo_proceso_grupo","nombre_proceso_grupo"],"title":"ProcesoGrupoResponse"},"ProcesoGrupoUpdate":{"properties":{"nombre_proceso_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Proceso Grupo"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"id_proceso_grupo_superior":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Proceso Grupo Superior"}},"type":"object","title":"ProcesoGrupoUpdate"},"ProcesoInstanciaCreate":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Proceso"},"codigo_estado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"codigo_usuario_asignado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario Asignado"},"codigo_posicion_asignada":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Posicion Asignada"},"codigo_area_solicitud":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area Solicitud"},"codigo_area_asignada":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area Asignada"},"prioridad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prioridad"},"datos":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Datos"},"fecha_comprometida":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Comprometida"},"costo":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Costo"},"nombre_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Proceso"},"alias_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Proceso"},"descripcion_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Proceso"},"comentarios_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comentarios Proceso"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"},"codigo_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"},"codigo_proceso_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso Superior"}},"type":"object","required":["codigo_categoria_proceso"],"title":"ProcesoInstanciaCreate"},"ProcesoInstanciaListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ProcesoInstanciaResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["items","total","page","page_size"],"title":"ProcesoInstanciaListResponse"},"ProcesoInstanciaResponse":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"codigo_categoria_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Proceso"},"codigo_estado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado"},"codigo_estado_canonico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Canonico"},"codigo_usuario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario"},"codigo_usuario_asignado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario Asignado"},"codigo_posicion_asignada":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Posicion Asignada"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"datos":{"anyOf":[{},{"type":"null"}],"title":"Datos"},"fecha_inicio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Inicio"},"fecha_fin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Fin"},"fecha_comprometida":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Comprometida"},"costo":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Costo"},"costo_en_tiempo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Costo En Tiempo"},"nombre_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Proceso"},"alias_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Proceso"},"descripcion_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Proceso"},"comentarios_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comentarios Proceso"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"},"md_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md Path"},"tiene_md":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Tiene Md"},"codigo_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"},"codigo_proceso_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso Superior"},"codigo_correlacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Correlacion"},"codigo_estado_ejecucion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Ejecucion"},"ambiente_origen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ambiente Origen"},"ambiente_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ambiente Destino"},"codigo_area_solicitud":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area Solicitud"},"codigo_area_asignada":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area Asignada"},"prioridad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prioridad"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"nombre_categoria":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Categoria"},"nombre_estado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Estado"},"nombre_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Grupo"},"nombre_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Funcion"}},"type":"object","required":["codigo_proceso"],"title":"ProcesoInstanciaResponse"},"ProcesoInstanciaUpdate":{"properties":{"codigo_estado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado"},"codigo_usuario_asignado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario Asignado"},"codigo_posicion_asignada":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Posicion Asignada"},"codigo_area_solicitud":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area Solicitud"},"codigo_area_asignada":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area Asignada"},"prioridad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prioridad"},"datos":{"anyOf":[{},{"type":"null"}],"title":"Datos"},"fecha_comprometida":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Comprometida"},"fecha_fin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Fin"},"costo":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Costo"},"costo_en_tiempo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Costo En Tiempo"},"nombre_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Proceso"},"alias_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Proceso"},"descripcion_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Proceso"},"comentarios_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comentarios Proceso"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"},"codigo_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"},"codigo_proceso_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso Superior"}},"type":"object","title":"ProcesoInstanciaUpdate"},"ProcesoOrden":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["codigo_proceso","orden"],"title":"ProcesoOrden"},"ProcesoPerfilBandeja":{"properties":{"codigo":{"type":"string","title":"Codigo"},"total":{"type":"integer","title":"Total"},"total_usuario":{"type":"integer","title":"Total Usuario"},"total_area":{"type":"integer","title":"Total Area"},"tareas":{"items":{"$ref":"#/components/schemas/ProcesoPerfilTarea"},"type":"array","title":"Tareas"},"tareas_truncadas":{"type":"boolean","title":"Tareas Truncadas","default":false}},"type":"object","required":["codigo","total","total_usuario","total_area","tareas"],"title":"ProcesoPerfilBandeja","description":"Una bandeja de cabecera del perfil: un corte del trabajo vivo que el\nperfil tiene que mirar antes que su carga general, con su detalle.\n\nHoy solo existe VENCIDO (abiertos cuya `fecha_comprometida` ya pasó). Es una\nlista para que sumar cortes nuevos no cambie el contrato de la respuesta."},"ProcesoPerfilCierrePeriodo":{"properties":{"clave":{"type":"string","title":"Clave"},"etiqueta":{"type":"string","title":"Etiqueta"},"desde":{"type":"string","title":"Desde"},"hasta":{"type":"string","title":"Hasta"},"cerrados":{"type":"integer","title":"Cerrados"},"cancelados":{"type":"integer","title":"Cancelados"},"total":{"type":"integer","title":"Total"},"actual":{"type":"boolean","title":"Actual","default":false}},"type":"object","required":["clave","etiqueta","desde","hasta","cerrados","cancelados","total"],"title":"ProcesoPerfilCierrePeriodo","description":"Un bucket de la serie de cierres del perfil (semana, mes o trimestre)."},"ProcesoPerfilClase":{"properties":{"codigo":{"type":"string","title":"Codigo"},"nombre":{"type":"string","title":"Nombre"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"total":{"type":"integer","title":"Total"},"total_usuario":{"type":"integer","title":"Total Usuario"},"total_area":{"type":"integer","title":"Total Area"},"total_abierto":{"type":"integer","title":"Total Abierto"},"total_terminal":{"type":"integer","title":"Total Terminal"},"por_estado":{"items":{"$ref":"#/components/schemas/ProcesoPerfilEstado"},"type":"array","title":"Por Estado"}},"type":"object","required":["codigo","nombre","total","total_usuario","total_area","total_abierto","total_terminal","por_estado"],"title":"ProcesoPerfilClase","description":"Pendientes de una Clase (categoría de proceso), con el split usuario/área."},"ProcesoPerfilEstado":{"properties":{"codigo":{"type":"string","title":"Codigo"},"nombre":{"type":"string","title":"Nombre"},"canonico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Canonico"},"terminal":{"type":"boolean","title":"Terminal","default":false},"total":{"type":"integer","title":"Total"},"total_usuario":{"type":"integer","title":"Total Usuario"},"total_area":{"type":"integer","title":"Total Area"}},"type":"object","required":["codigo","nombre","total","total_usuario","total_area"],"title":"ProcesoPerfilEstado","description":"Un estado concreto dentro de una Clase (segmento de la barra apilada)."},"ProcesoPerfilTarea":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"},"nombre_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Proceso"},"codigo_categoria_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Categoria Proceso"},"nombre_categoria":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Categoria"},"codigo_tipo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Proceso"},"codigo_estado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado"},"nombre_estado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Estado"},"codigo_estado_canonico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Canonico"},"codigo_usuario_asignado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario Asignado"},"codigo_area_asignada":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area Asignada"},"fecha_inicio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Inicio"},"fecha_comprometida":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Comprometida"},"es_usuario":{"type":"boolean","title":"Es Usuario","default":false},"es_area":{"type":"boolean","title":"Es Area","default":false}},"type":"object","required":["codigo_proceso"],"title":"ProcesoPerfilTarea","description":"Una fila del detalle de una bandeja (lo que muestra el modal)."},"ProcesoResponse":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"},"nombre_proceso":{"type":"string","title":"Nombre Proceso"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"orden":{"type":"integer","title":"Orden","default":0},"n_parallel":{"type":"integer","title":"N Parallel","default":10},"batch_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Batch Size"},"batch_timeout_seg":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Batch Timeout Seg"},"timeout_extraccion_seg":{"type":"integer","title":"Timeout Extraccion Seg","default":0},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"codigo_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"},"estado_origen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Origen"},"estado_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Destino"},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"},"categoria_transicion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categoria Transicion"},"id_transicion":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Transicion"},"json":{"anyOf":[{},{"type":"null"}],"title":"Json"}},"type":"object","required":["codigo_proceso","nombre_proceso"],"title":"ProcesoResponse"},"ProcesoTipoConteo":{"properties":{"codigo_categoria":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Categoria"},"codigo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo"},"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["total"],"title":"ProcesoTipoConteo"},"ProcesoUpdate":{"properties":{"nombre_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Proceso"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"n_parallel":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"N Parallel"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"codigo_funcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Funcion"},"json":{"anyOf":[{},{"type":"null"}],"title":"Json"}},"type":"object","title":"ProcesoUpdate"},"PromocionResponse":{"properties":{"id_espacio":{"type":"integer","title":"Id Espacio"},"tipo_espacio":{"type":"string","title":"Tipo Espacio"},"fecha_termino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Termino"}},"type":"object","required":["id_espacio","tipo_espacio"],"title":"PromocionResponse"},"PromoverConsolidadoRequest":{"properties":{"codigo_documento":{"type":"string","title":"Codigo Documento"},"codigo_ubicacion":{"type":"string","title":"Codigo Ubicacion"},"nombre_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Documento"}},"type":"object","required":["codigo_documento","codigo_ubicacion"],"title":"PromoverConsolidadoRequest"},"PropuestaCatalogoCreate":{"properties":{"ambito":{"type":"string","title":"Ambito"},"codigo_propuesto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Propuesto"},"nombre_propuesto":{"type":"string","title":"Nombre Propuesto"},"descripcion_propuesta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Propuesta"},"categoria_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categoria Destino"},"tipo_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Destino"},"fuente":{"type":"string","title":"Fuente","default":"HUMANO"},"evidencia":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Evidencia"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}},"type":"object","required":["ambito","nombre_propuesto"],"title":"PropuestaCatalogoCreate"},"PropuestaCatalogoDecidir":{"properties":{"estado":{"type":"string","title":"Estado"},"decision_admin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decision Admin"},"codigo_propuesto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Propuesto"},"nombre_propuesto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Propuesto"},"descripcion_propuesta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Propuesta"},"caracteristicas_sugeridas":{"anyOf":[{"items":{"$ref":"#/components/schemas/CaracteristicaSugerida"},"type":"array"},{"type":"null"}],"title":"Caracteristicas Sugeridas"}},"type":"object","required":["estado"],"title":"PropuestaCatalogoDecidir","description":"Body para POST /propuestas-catalogo/{id}/decidir."},"PropuestaCatalogoResponse":{"properties":{"id_propuesta":{"type":"integer","title":"Id Propuesta"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"ambito":{"type":"string","title":"Ambito"},"codigo_propuesto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Propuesto"},"nombre_propuesto":{"type":"string","title":"Nombre Propuesto"},"descripcion_propuesta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Propuesta"},"categoria_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categoria Destino"},"tipo_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Destino"},"fuente":{"type":"string","title":"Fuente"},"codigo_habilidad_origen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Habilidad Origen"},"evidencia":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Evidencia"},"frecuencia_observada":{"type":"integer","title":"Frecuencia Observada"},"estado":{"type":"string","title":"Estado"},"decision_admin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decision Admin"},"decidido_por":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decidido Por"},"decidido_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decidido En"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"revision":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Revision"},"perfil_caracteristicas":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Perfil Caracteristicas"},"reproceso":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Reproceso"}},"type":"object","required":["id_propuesta","ambito","nombre_propuesto","fuente","frecuencia_observada","estado"],"title":"PropuestaCatalogoResponse"},"PropuestaSync":{"properties":{"id_propuesta_local":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Propuesta Local"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"ambito":{"type":"string","title":"Ambito"},"codigo_propuesto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Propuesto"},"nombre_propuesto":{"type":"string","title":"Nombre Propuesto"},"descripcion_propuesta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Propuesta"},"fuente":{"type":"string","title":"Fuente","default":"LLM"},"codigo_habilidad_origen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Habilidad Origen"},"evidencia":{"additionalProperties":true,"type":"object","title":"Evidencia","default":{}},"frecuencia_observada":{"type":"integer","title":"Frecuencia Observada","default":1}},"type":"object","required":["ambito","nombre_propuesto"],"title":"PropuestaSync"},"ProveedorCreate":{"properties":{"codigo_proveedor":{"type":"string","title":"Codigo Proveedor"},"nombre_visible":{"type":"string","title":"Nombre Visible"},"tipo_proveedor":{"type":"string","title":"Tipo Proveedor","default":"LLM"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"url_keys":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Keys"},"url_pagos":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Pagos"},"url_consola":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Consola"},"notas":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notas"},"activo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Activo","default":true}},"type":"object","required":["codigo_proveedor","nombre_visible"],"title":"ProveedorCreate"},"ProveedorResponse":{"properties":{"id_proveedor":{"type":"integer","title":"Id Proveedor"},"codigo_proveedor":{"type":"string","title":"Codigo Proveedor"},"nombre_visible":{"type":"string","title":"Nombre Visible"},"tipo_proveedor":{"type":"string","title":"Tipo Proveedor"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"url_keys":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Keys"},"url_pagos":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Pagos"},"url_consola":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Consola"},"notas":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notas"},"activo":{"type":"boolean","title":"Activo"}},"type":"object","required":["id_proveedor","codigo_proveedor","nombre_visible","tipo_proveedor","activo"],"title":"ProveedorResponse"},"ProveedorUpdate":{"properties":{"codigo_proveedor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proveedor"},"nombre_visible":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Visible"},"tipo_proveedor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Proveedor"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"url_keys":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Keys"},"url_pagos":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Pagos"},"url_consola":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Consola"},"notas":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notas"},"activo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Activo"}},"type":"object","title":"ProveedorUpdate"},"ProximaEjecucion":{"properties":{"fecha":{"type":"string","title":"Fecha"},"dia":{"type":"string","title":"Dia"}},"type":"object","required":["fecha","dia"],"title":"ProximaEjecucion"},"ProximasResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"tareas":{"items":{"$ref":"#/components/schemas/TareaLocal"},"type":"array","title":"Tareas"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["ok","tareas","total"],"title":"ProximasResponse"},"PublicarCompiladoRequest":{"properties":{"id_espacio_fuentes":{"type":"integer","title":"Id Espacio Fuentes"},"codigo_ubicacion_destino":{"type":"string","title":"Codigo Ubicacion Destino"},"titulo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Titulo"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"}},"type":"object","required":["id_espacio_fuentes","codigo_ubicacion_destino"],"title":"PublicarCompiladoRequest"},"PublicarPaginaDocumentacionRequest":{"properties":{"lease_token":{"type":"string","maxLength":300,"minLength":32,"title":"Lease Token"},"sha":{"type":"string","pattern":"^[0-9a-f]{40}$","title":"Sha"},"codigos_funcion":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Codigos Funcion"},"pagina":{"$ref":"#/components/schemas/PaginaVerificada"},"uso":{"$ref":"#/components/schemas/UsoClaudeDocumentacion"}},"type":"object","required":["lease_token","sha","codigos_funcion","pagina","uso"],"title":"PublicarPaginaDocumentacionRequest"},"ReadSpaceRequest":{"properties":{"resolution":{"type":"string","title":"Resolution","default":"manifest"},"query":{"type":"string","title":"Query","default":""},"limit":{"type":"integer","maximum":500.0,"minimum":1.0,"title":"Limit","default":50}},"type":"object","title":"ReadSpaceRequest"},"ReanalizarParcialRequest":{"properties":{"codigo_habilidad":{"type":"string","title":"Codigo Habilidad","default":"TIPIFICAR_DOCUMENTO"},"estado_tipificacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Tipificacion"},"codigo_tipo_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Documento"},"codigo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"},"limite":{"type":"integer","title":"Limite","default":1000}},"type":"object","title":"ReanalizarParcialRequest"},"ReclamarIntento":{"properties":{"lease_minutos":{"type":"integer","maximum":120.0,"minimum":10.0,"title":"Lease Minutos","default":30}},"type":"object","title":"ReclamarIntento"},"RecompilarFichasDocumentacionRequest":{"properties":{"lease_token":{"type":"string","maxLength":300,"minLength":32,"title":"Lease Token"},"sha":{"type":"string","pattern":"^[0-9a-f]{40}$","title":"Sha"},"codigos_funcion":{"items":{"type":"string"},"type":"array","maxItems":200,"minItems":1,"title":"Codigos Funcion"}},"type":"object","required":["lease_token","sha","codigos_funcion"],"title":"RecompilarFichasDocumentacionRequest"},"ReconciliarEscaneoRequest":{"properties":{"codigo_escaneo":{"type":"string","maxLength":64,"minLength":1,"title":"Codigo Escaneo"},"codigos_ubicacion":{"items":{"type":"string"},"type":"array","title":"Codigos Ubicacion"},"inventario_completo":{"type":"boolean","title":"Inventario Completo","default":false}},"type":"object","required":["codigo_escaneo","codigos_ubicacion"],"title":"ReconciliarEscaneoRequest","description":"Cierre del escaneo: aplica la regla de dos ausencias (§D2)."},"ReconciliarEscaneoResponse":{"properties":{"reconciliado":{"type":"boolean","title":"Reconciliado"},"motivo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Motivo"},"ausencias_detectadas":{"type":"integer","title":"Ausencias Detectadas","default":0},"ausencias_pendientes":{"type":"integer","title":"Ausencias Pendientes","default":0},"eliminados_confirmados":{"type":"integer","title":"Eliminados Confirmados","default":0},"reaparecidos":{"type":"integer","title":"Reaparecidos","default":0}},"type":"object","required":["reconciliado"],"title":"ReconciliarEscaneoResponse"},"ReconstruirIndiceRequest":{"properties":{"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"}},"type":"object","title":"ReconstruirIndiceRequest"},"RecuperarClaveRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"RecuperarClaveRequest"},"RecuperarHuerfanosResponse":{"properties":{"recuperados":{"type":"integer","title":"Recuperados"}},"type":"object","required":["recuperados"],"title":"RecuperarHuerfanosResponse"},"RecuperarLeaseEstacionBody":{"properties":{"motivo":{"type":"string","title":"Motivo"}},"type":"object","required":["motivo"],"title":"RecuperarLeaseEstacionBody","description":"Motivo operacional del rescate; queda en la bitácora del intento."},"RecuperarLeaseEstacionRespuesta":{"properties":{"codigo_estacion":{"type":"string","title":"Codigo Estacion"},"codigo_proceso":{"type":"string","title":"Codigo Proceso"},"codigo_estado":{"type":"string","title":"Codigo Estado"},"estacion_desactivada":{"type":"boolean","title":"Estacion Desactivada"}},"type":"object","required":["codigo_estacion","codigo_proceso","codigo_estado","estacion_desactivada"],"title":"RecuperarLeaseEstacionRespuesta"},"RedaccionRequest":{"properties":{"texto_fuente":{"type":"string","title":"Texto Fuente","default":""},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}},"type":"object","title":"RedaccionRequest"},"RedirectVista":{"properties":{"host":{"type":"string","title":"Host"},"es_loopback":{"type":"boolean","title":"Es Loopback"}},"type":"object","required":["host","es_loopback"],"title":"RedirectVista"},"ReeplicarResponse":{"properties":{"id_espacio":{"type":"integer","title":"Id Espacio"},"encolados":{"type":"integer","title":"Encolados"},"mensaje":{"type":"string","title":"Mensaje"}},"type":"object","required":["id_espacio","encolados","mensaje"],"title":"ReeplicarResponse"},"RefrescoResponse":{"properties":{"id_espacio":{"type":"integer","title":"Id Espacio"},"documentos":{"type":"integer","title":"Documentos"},"fecha_ultimo_refresco":{"type":"string","title":"Fecha Ultimo Refresco"}},"type":"object","required":["id_espacio","documentos","fecha_ultimo_refresco"],"title":"RefrescoResponse"},"RegistrarClienteRequest":{"properties":{"client_id":{"type":"string","title":"Client Id"},"nombre_cliente":{"type":"string","title":"Nombre Cliente"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"version_app":{"type":"string","title":"Version App","default":"0.1.0"},"cloud_url":{"type":"string","title":"Cloud Url","default":""}},"type":"object","required":["client_id","nombre_cliente","codigo_grupo"],"title":"RegistrarClienteRequest"},"RegistrarErrorFrontendRequest":{"properties":{"mensaje":{"type":"string","title":"Mensaje"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stack"},"url_pantalla":{"type":"string","title":"Url Pantalla","default":""},"user_agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Agent"},"contexto_extra":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Contexto Extra"}},"type":"object","required":["mensaje"],"title":"RegistrarErrorFrontendRequest"},"RegistrarFallasExtraccionRequest":{"properties":{"fallas":{"items":{"$ref":"#/components/schemas/FallaExtraccion"},"type":"array","title":"Fallas"}},"type":"object","required":["fallas"],"title":"RegistrarFallasExtraccionRequest"},"RegistrarFallasExtraccionResponse":{"properties":{"registrados":{"type":"integer","title":"Registrados"},"omitidos":{"type":"integer","title":"Omitidos","default":0},"a_revisar":{"type":"integer","title":"A Revisar","default":0}},"type":"object","required":["registrados"],"title":"RegistrarFallasExtraccionResponse"},"RegistrarFalloDocumentacionRequest":{"properties":{"lease_token":{"type":"string","maxLength":300,"minLength":32,"title":"Lease Token"},"sha":{"type":"string","pattern":"^[0-9a-f]{40}$","title":"Sha"},"pagina":{"type":"string","maxLength":500,"minLength":1,"title":"Pagina"},"clave_evento":{"type":"string","pattern":"^[0-9a-f]{64}$","title":"Clave Evento"},"error_sanitizado":{"type":"string","maxLength":2000,"minLength":1,"title":"Error Sanitizado"},"costo_desconocido":{"type":"boolean","title":"Costo Desconocido","default":false},"uso":{"$ref":"#/components/schemas/UsoClaudeDocumentacion"}},"type":"object","required":["lease_token","sha","pagina","clave_evento","error_sanitizado","uso"],"title":"RegistrarFalloDocumentacionRequest"},"RegistrarNodoRequest":{"properties":{"codigo_nodo":{"type":"string","title":"Codigo Nodo"},"tipo_nodo":{"type":"string","title":"Tipo Nodo"},"hardware_detectado":{"additionalProperties":true,"type":"object","title":"Hardware Detectado"}},"type":"object","required":["codigo_nodo","tipo_nodo","hardware_detectado"],"title":"RegistrarNodoRequest"},"RegistroLLMCreate":{"properties":{"proveedor":{"type":"string","title":"Proveedor"},"nombre_tecnico":{"type":"string","title":"Nombre Tecnico"},"nombre_visible":{"type":"string","title":"Nombre Visible"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","required":["proveedor","nombre_tecnico","nombre_visible"],"title":"RegistroLLMCreate"},"RegistroLLMResponse":{"properties":{"id_modelo":{"type":"integer","title":"Id Modelo"},"proveedor":{"type":"string","title":"Proveedor"},"nombre_tecnico":{"type":"string","title":"Nombre Tecnico"},"nombre_visible":{"type":"string","title":"Nombre Visible"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"estado_valido":{"type":"boolean","title":"Estado Valido"},"fecha_validacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Validacion"}},"type":"object","required":["id_modelo","proveedor","nombre_tecnico","nombre_visible","estado_valido"],"title":"RegistroLLMResponse"},"RegistroLLMUpdate":{"properties":{"proveedor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proveedor"},"nombre_tecnico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Tecnico"},"nombre_visible":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Visible"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"estado_valido":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Estado Valido"},"fecha_validacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Validacion"}},"type":"object","title":"RegistroLLMUpdate"},"RegistroPublicoRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"nombre":{"type":"string","title":"Nombre"},"empresa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Empresa"}},"type":"object","required":["email","nombre"],"title":"RegistroPublicoRequest"},"RelTipoDocCaractCreate":{"properties":{"codigo_tipo_documento":{"type":"string","title":"Codigo Tipo Documento"},"codigo_cat_docs":{"type":"string","title":"Codigo Cat Docs"},"codigo_tipo_docs":{"type":"string","title":"Codigo Tipo Docs"},"orden":{"type":"integer","title":"Orden","default":0},"max_por_tipo":{"type":"integer","title":"Max Por Tipo","default":1},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"rol_discriminador":{"anyOf":[{"type":"string","enum":["FECHA_PROPIA","FECHA","IDENTIFICADOR"]},{"type":"null"}],"title":"Rol Discriminador"}},"type":"object","required":["codigo_tipo_documento","codigo_cat_docs","codigo_tipo_docs"],"title":"RelTipoDocCaractCreate"},"RelTipoDocCaractResponse":{"properties":{"codigo_tipo_documento":{"type":"string","title":"Codigo Tipo Documento"},"codigo_cat_docs":{"type":"string","title":"Codigo Cat Docs"},"codigo_tipo_docs":{"type":"string","title":"Codigo Tipo Docs"},"orden":{"type":"integer","title":"Orden"},"max_por_tipo":{"type":"integer","title":"Max Por Tipo"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"rol_discriminador":{"anyOf":[{"type":"string","enum":["FECHA_PROPIA","FECHA","IDENTIFICADOR"]},{"type":"null"}],"title":"Rol Discriminador"},"nombre_categoria":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Categoria"},"nombre_tipo_caract":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Tipo Caract"}},"type":"object","required":["codigo_tipo_documento","codigo_cat_docs","codigo_tipo_docs","orden","max_por_tipo"],"title":"RelTipoDocCaractResponse"},"RelTipoDocCaractUpdate":{"properties":{"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"max_por_tipo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Por Tipo"},"rol_discriminador":{"anyOf":[{"type":"string","enum":["FECHA_PROPIA","FECHA","IDENTIFICADOR"]},{"type":"null"}],"title":"Rol Discriminador"}},"type":"object","title":"RelTipoDocCaractUpdate"},"RelTipoDocCatCreate":{"properties":{"codigo_tipo_documento":{"type":"string","title":"Codigo Tipo Documento"},"codigo_cat_docs":{"type":"string","title":"Codigo Cat Docs"},"orden":{"type":"integer","title":"Orden","default":0},"max_por_categoria":{"type":"integer","title":"Max Por Categoria","default":2},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"}},"type":"object","required":["codigo_tipo_documento","codigo_cat_docs"],"title":"RelTipoDocCatCreate"},"RelTipoDocCatResponse":{"properties":{"codigo_tipo_documento":{"type":"string","title":"Codigo Tipo Documento"},"codigo_cat_docs":{"type":"string","title":"Codigo Cat Docs"},"orden":{"type":"integer","title":"Orden"},"max_por_categoria":{"type":"integer","title":"Max Por Categoria"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"nombre_categoria":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Categoria"}},"type":"object","required":["codigo_tipo_documento","codigo_cat_docs","orden","max_por_categoria"],"title":"RelTipoDocCatResponse"},"RelTipoDocCatUpdate":{"properties":{"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"max_por_categoria":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Por Categoria"}},"type":"object","title":"RelTipoDocCatUpdate"},"ReordenarAppItem":{"properties":{"codigo_aplicacion":{"type":"string","title":"Codigo Aplicacion"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["codigo_aplicacion","orden"],"title":"ReordenarAppItem"},"ReordenarFuncionItem":{"properties":{"codigo_funcion":{"type":"string","title":"Codigo Funcion"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["codigo_funcion","orden"],"title":"ReordenarFuncionItem"},"ReportarEstadoRequest":{"properties":{"id_cola":{"type":"integer","title":"Id Cola"},"estado_cola":{"type":"string","title":"Estado Cola"},"lease_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lease Token"},"resultado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resultado"},"mensaje_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mensaje Error"},"tokens_input":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tokens Input"},"tokens_output":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tokens Output"},"modelo_usado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modelo Usado"},"duracion_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duracion Ms"},"codigo_estado_doc_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Doc Destino"},"texto_fuente":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Texto Fuente"},"caracteres":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Caracteres"},"paginas":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Paginas"}},"type":"object","required":["id_cola","estado_cola"],"title":"ReportarEstadoRequest"},"ReportarEstadoResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"id_cola":{"type":"integer","title":"Id Cola"},"estado_cola":{"type":"string","title":"Estado Cola"}},"type":"object","required":["ok","id_cola","estado_cola"],"title":"ReportarEstadoResponse"},"ResolverAlertaLLMRequest":{"properties":{"proveedor":{"type":"string","title":"Proveedor"},"modelo":{"type":"string","title":"Modelo"},"categoria":{"type":"string","title":"Categoria"}},"type":"object","required":["proveedor","modelo","categoria"],"title":"ResolverAlertaLLMRequest"},"ResolverAlertaLLMResponse":{"properties":{"resuelto":{"type":"boolean","title":"Resuelto"}},"type":"object","required":["resuelto"],"title":"ResolverAlertaLLMResponse"},"ResolverAprobacionBody":{"properties":{"decision":{"type":"string","enum":["APROBADA","RECHAZADA"],"title":"Decision"},"comentario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comentario"}},"type":"object","required":["decision"],"title":"ResolverAprobacionBody"},"ResolverIdentidadRequest":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"documentos":{"items":{"$ref":"#/components/schemas/DocIdentidad"},"type":"array","maxItems":5000,"title":"Documentos"}},"type":"object","required":["codigo_grupo","documentos"],"title":"ResolverIdentidadRequest"},"ResolverIdentidadUbicacionesRequest":{"properties":{"urls":{"items":{"type":"string"},"type":"array","maxItems":5000,"title":"Urls"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}},"type":"object","required":["urls"],"title":"ResolverIdentidadUbicacionesRequest","description":"Pregunta previa al barrido: ¿qué código ya tiene el Cloud para estas rutas?\n\nTope 5000: el Desktop pregunta en tandas de 2000 (espejo de\n/sync/resolver-identidad); lo que venga entero se rechaza (422)."},"ResolverIdentidadUbicacionesResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","default":true},"identidades":{"additionalProperties":{"type":"string"},"type":"object","title":"Identidades","default":{}}},"type":"object","title":"ResolverIdentidadUbicacionesResponse"},"ResolverRevisionDocumentacion":{"properties":{"decision":{"type":"string","enum":["aprobar","corregir","descartar"],"title":"Decision"},"texto_corregido":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Texto Corregido"}},"additionalProperties":false,"type":"object","required":["decision"],"title":"ResolverRevisionDocumentacion"},"RespuestaOrdenAlimentacion":{"properties":{"explicacion":{"type":"string","title":"Explicacion"},"acciones":{"items":{"$ref":"#/components/schemas/AccionAlimentacion"},"type":"array","title":"Acciones","default":[]},"ejecutado":{"type":"boolean","title":"Ejecutado","default":false}},"type":"object","required":["explicacion"],"title":"RespuestaOrdenAlimentacion"},"ResultadoIntento":{"properties":{"lease_minutos":{"type":"integer","maximum":120.0,"minimum":10.0,"title":"Lease Minutos","default":30},"lease_token":{"type":"string","maxLength":300,"minLength":32,"title":"Lease Token"},"estado":{"type":"string","enum":["COMPLETADO","BLOQUEADO","ERROR"],"title":"Estado"},"resumen":{"type":"string","maxLength":8000,"minLength":1,"title":"Resumen"},"decision_propuesta":{"type":"string","enum":["EJECUTAR","DERIVAR","ESCALAR","BLOQUEAR","CERRAR"],"title":"Decision Propuesta","default":"EJECUTAR"},"cambios":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Cambios"},"pruebas":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Pruebas"},"evidencias":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Evidencias"},"uso_llm":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Uso Llm"},"error_sanitizado":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Error Sanitizado"}},"type":"object","required":["lease_token","estado","resumen"],"title":"ResultadoIntento"},"ResultadoLimpieza":{"properties":{"codigo_tabla":{"type":"string","title":"Codigo Tabla"},"modo":{"type":"string","title":"Modo"},"valor":{"type":"integer","title":"Valor"},"filas_eliminadas":{"type":"integer","title":"Filas Eliminadas"}},"type":"object","required":["codigo_tabla","modo","valor","filas_eliminadas"],"title":"ResultadoLimpieza"},"ResumenFase":{"properties":{"pendiente":{"type":"integer","title":"Pendiente","default":0},"en_proceso":{"type":"integer","title":"En Proceso","default":0},"completado":{"type":"integer","title":"Completado","default":0},"error":{"type":"integer","title":"Error","default":0},"workers_activos":{"type":"integer","title":"Workers Activos","default":0},"velocidad_docs_por_min":{"type":"number","title":"Velocidad Docs Por Min","default":0.0}},"type":"object","title":"ResumenFase"},"ResumenPaquete":{"properties":{"tamano_paquete":{"type":"integer","title":"Tamano Paquete","default":1000},"docs_totales":{"type":"integer","title":"Docs Totales","default":0},"docs_completados":{"type":"integer","title":"Docs Completados","default":0},"paquete_actual":{"type":"integer","title":"Paquete Actual","default":0},"paquetes_totales":{"type":"integer","title":"Paquetes Totales","default":0}},"type":"object","title":"ResumenPaquete","description":"Lote operativo (nombre legacy \"paquete\" en los campos API): vista lógica sobre la corrida actual.\n\nDoble propósito (ver docs/planes/PLAN_PROCESAMIENTO_LOTES.md § Lote operativo):\n  a) Acotar SQLite/WAL al procesar 100k+ docs.\n  b) Feedback amigable al usuario en pasos discretos.\n\nHoy el cálculo es una vista lógica: cuenta documentos del grupo en estados del\npipeline. Cuando el orquestador real haga el corte con limpieza intermedia,\nestos campos seguirán siendo válidos sin cambios en la UI."},"ResumenPipelineResponse":{"properties":{"por_destino":{"additionalProperties":{"$ref":"#/components/schemas/ResumenFase"},"type":"object","title":"Por Destino"},"ventana_velocidad_seg":{"type":"integer","title":"Ventana Velocidad Seg"},"paquete":{"$ref":"#/components/schemas/ResumenPaquete","default":{"tamano_paquete":1000,"docs_totales":0,"docs_completados":0,"paquete_actual":0,"paquetes_totales":0}},"doc_en_proceso":{"anyOf":[{"$ref":"#/components/schemas/DocEnProceso"},{"type":"null"}]},"alerta_llm":{"anyOf":[{"$ref":"#/components/schemas/AlertaLLM"},{"type":"null"}]}},"type":"object","required":["por_destino","ventana_velocidad_seg"],"title":"ResumenPipelineResponse"},"ResumenTiposDocumentoEntidadResponse":{"properties":{"entidad_activa":{"items":{"$ref":"#/components/schemas/TipoDocumentoEntidadResumen"},"type":"array","title":"Entidad Activa","default":[]},"catalogo_global":{"items":{"$ref":"#/components/schemas/TipoDocumentoEntidadResumen"},"type":"array","title":"Catalogo Global","default":[]}},"type":"object","title":"ResumenTiposDocumentoEntidadResponse"},"ResumirLoteEfectivoResponse":{"properties":{"resumido":{"type":"boolean","title":"Resumido"},"documento_perfil":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Documento Perfil"},"lotes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lotes"},"documentos":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Documentos"},"id_espacio":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Espacio"},"motivo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Motivo"}},"type":"object","required":["resumido"],"title":"ResumirLoteEfectivoResponse"},"RetryHuerfanosRequest":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"}},"type":"object","required":["codigo_proceso"],"title":"RetryHuerfanosRequest"},"ReubicarRaizRequest":{"properties":{"codigo_ubicacion_raiz":{"type":"string","maxLength":100,"minLength":1,"title":"Codigo Ubicacion Raiz"},"url_nueva":{"type":"string","maxLength":2000,"minLength":1,"title":"Url Nueva"}},"type":"object","required":["codigo_ubicacion_raiz","url_nueva"],"title":"ReubicarRaizRequest","description":"Colgar una raíz ya indexada de una carpeta ascendiente recién elegida."},"ReubicarRaizResponse":{"properties":{"url_vieja":{"type":"string","title":"Url Vieja"},"url_nueva":{"type":"string","title":"Url Nueva"},"ubicaciones":{"type":"integer","title":"Ubicaciones"},"documentos":{"type":"integer","title":"Documentos"},"inventario":{"type":"integer","title":"Inventario"}},"type":"object","required":["url_vieja","url_nueva","ubicaciones","documentos","inventario"],"title":"ReubicarRaizResponse"},"RevertirMasivoRequest":{"properties":{"estados_origen":{"items":{"type":"string"},"type":"array","title":"Estados Origen"},"estado_destino":{"type":"string","title":"Estado Destino"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"q":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"},"codigo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"},"codigo_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Documento"},"tope":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tope"},"solo_contar":{"type":"boolean","title":"Solo Contar","default":false},"segun_texto":{"type":"boolean","title":"Segun Texto","default":false},"limpieza_completa":{"type":"boolean","title":"Limpieza Completa","default":false}},"type":"object","required":["estados_origen","estado_destino"],"title":"RevertirMasivoRequest"},"RevertirMasivoResponse":{"properties":{"conteo":{"type":"integer","title":"Conteo"},"revertidos":{"type":"integer","title":"Revertidos"},"solo_contar":{"type":"boolean","title":"Solo Contar"},"por_destino":{"additionalProperties":{"type":"integer"},"type":"object","title":"Por Destino","default":{}}},"type":"object","required":["conteo","revertidos","solo_contar"],"title":"RevertirMasivoResponse"},"RevisarFuentesWebResponse":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_entidad":{"type":"string","title":"Codigo Entidad"},"ubicaciones_revisadas":{"type":"integer","title":"Ubicaciones Revisadas"},"ubicaciones_nuevas":{"type":"integer","title":"Ubicaciones Nuevas"},"documentos_nuevos":{"type":"integer","title":"Documentos Nuevos"},"documentos_omitidos":{"type":"integer","title":"Documentos Omitidos"},"advertencias":{"items":{},"type":"array","title":"Advertencias"},"errores":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Errores"},"detalle":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Detalle"}},"type":"object","required":["codigo_grupo","codigo_entidad","ubicaciones_revisadas","ubicaciones_nuevas","documentos_nuevos","documentos_omitidos"],"title":"RevisarFuentesWebResponse"},"RevisarMailRequest":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"}},"type":"object","required":["codigo_proceso"],"title":"RevisarMailRequest"},"RevisarPendienteRequest":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"}},"type":"object","required":["codigo_proceso"],"title":"RevisarPendienteRequest"},"RevisionWebEncoladaResponse":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"},"codigo_estado":{"type":"string","title":"Codigo Estado"},"creado":{"type":"boolean","title":"Creado","default":true},"alcance":{"additionalProperties":true,"type":"object","title":"Alcance"},"ruta_estado":{"type":"string","title":"Ruta Estado","default":""},"reutilizado":{"type":"boolean","title":"Reutilizado","default":false}},"type":"object","required":["codigo_proceso","codigo_estado"],"title":"RevisionWebEncoladaResponse","description":"«Revisar ahora» no espera a la adquisición: devuelve el proceso durable."},"RevisionWebEstadoResponse":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"},"codigo_estado":{"type":"string","title":"Codigo Estado"},"terminado":{"type":"boolean","title":"Terminado"},"nombre_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Proceso"},"ubicaciones_revisadas":{"type":"integer","title":"Ubicaciones Revisadas","default":0},"documentos_nuevos":{"type":"integer","title":"Documentos Nuevos","default":0},"documentos_omitidos":{"type":"integer","title":"Documentos Omitidos","default":0},"errores":{"type":"integer","title":"Errores","default":0},"advertencias":{"type":"integer","title":"Advertencias","default":0},"queda_pendiente":{"type":"boolean","title":"Queda Pendiente","default":false},"omitidas_por_motivo":{"additionalProperties":{"type":"integer"},"type":"object","title":"Omitidas Por Motivo"},"pendientes_por_limite":{"additionalProperties":{"type":"integer"},"type":"object","title":"Pendientes Por Limite"},"reintentos_pendientes":{"type":"integer","title":"Reintentos Pendientes","default":0},"errores_terminales":{"type":"integer","title":"Errores Terminales","default":0}},"type":"object","required":["codigo_proceso","codigo_estado","terminado"],"title":"RevisionWebEstadoResponse"},"RevisionWebGrupoResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"entidades":{"type":"integer","title":"Entidades"},"encolados":{"type":"integer","title":"Encolados"},"reutilizados":{"type":"integer","title":"Reutilizados"}},"type":"object","required":["ok","entidades","encolados","reutilizados"],"title":"RevisionWebGrupoResponse"},"RolAsignar":{"properties":{"id_rol":{"type":"integer","title":"Id Rol"}},"type":"object","required":["id_rol"],"title":"RolAsignar"},"RolCaractPersAsignar":{"properties":{"id_rol":{"type":"integer","title":"Id Rol"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"}},"type":"object","required":["id_rol"],"title":"RolCaractPersAsignar"},"RolCaractPersOrden":{"properties":{"id_rol":{"type":"integer","title":"Id Rol"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["id_rol","orden"],"title":"RolCaractPersOrden"},"RolCopiar":{"properties":{"id_rol_origen":{"type":"integer","title":"Id Rol Origen"},"codigo_grupo_destino":{"type":"string","title":"Codigo Grupo Destino"}},"type":"object","required":["id_rol_origen","codigo_grupo_destino"],"title":"RolCopiar"},"RolCreate":{"properties":{"codigo_rol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Rol"},"nombre":{"type":"string","title":"Nombre"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"alias_de_rol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias De Rol"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"url_inicio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Inicio"},"funcion_por_defecto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Funcion Por Defecto"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso","default":"USUARIO"},"traducir":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Traducir","default":true},"inicial":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Inicial","default":false},"inicial_admin_grupo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Inicial Admin Grupo","default":false},"inicial_admin_general":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Inicial Admin General","default":false}},"type":"object","required":["nombre"],"title":"RolCreate"},"RolMenu":{"properties":{"id_rol":{"type":"integer","title":"Id Rol"},"codigo_rol":{"type":"string","title":"Codigo Rol"},"alias":{"type":"string","title":"Alias"},"orden":{"type":"integer","title":"Orden","default":0},"funciones":{"items":{"$ref":"#/components/schemas/FuncionMenu"},"type":"array","title":"Funciones","default":[]},"submenus":{"items":{"$ref":"#/components/schemas/RolMenu"},"type":"array","title":"Submenus","default":[]},"tipo_seccion":{"type":"string","title":"Tipo Seccion","default":"ROL"},"icono":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icono"}},"type":"object","required":["id_rol","codigo_rol","alias"],"title":"RolMenu","description":"Sección del menú lateral, contiene funciones.\n\ntipo_seccion='ROL' (clásico): el agrupador es el rol; `id_rol`/`codigo_rol`\nson del rol. tipo_seccion='MENU' (sidebar nuevo de DOCS): el agrupador es una\nfila aplicaciones tipo=MENU; `id_rol`=0 e `codigo_rol`=código del MENU."},"RolOrden":{"properties":{"id_rol":{"type":"integer","title":"Id Rol"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["id_rol","orden"],"title":"RolOrden"},"RolResponse":{"properties":{"id_rol":{"type":"integer","title":"Id Rol"},"codigo_rol":{"type":"string","title":"Codigo Rol"},"nombre":{"type":"string","title":"Nombre"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"alias_de_rol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias De Rol"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"url_inicio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Inicio"},"funcion_por_defecto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Funcion Por Defecto"},"orden":{"type":"integer","title":"Orden","default":0},"tipo_acceso":{"type":"string","title":"Tipo Acceso","default":"USUARIO"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"},"traducir":{"type":"boolean","title":"Traducir","default":true},"inicial":{"type":"boolean","title":"Inicial","default":false},"inicial_admin_grupo":{"type":"boolean","title":"Inicial Admin Grupo","default":false},"inicial_admin_general":{"type":"boolean","title":"Inicial Admin General","default":false}},"type":"object","required":["id_rol","codigo_rol","nombre"],"title":"RolResponse"},"RolUpdate":{"properties":{"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"alias_de_rol":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias De Rol"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"url_inicio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Inicio"},"funcion_por_defecto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Funcion Por Defecto"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"},"traducir":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Traducir"},"inicial":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Inicial"},"inicial_admin_grupo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Inicial Admin Grupo"},"inicial_admin_general":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Inicial Admin General"}},"type":"object","title":"RolUpdate"},"RunSkillRequest":{"properties":{"space_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Space Id"},"document_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Code"}},"type":"object","title":"RunSkillRequest"},"SanidadOnboardingRequest":{"properties":{"abrir_soporte":{"type":"boolean","title":"Abrir Soporte","default":true},"codigo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso"}},"type":"object","title":"SanidadOnboardingRequest"},"SearchFilter":{"properties":{"document_types":{"items":{"type":"string"},"type":"array","maxItems":8,"title":"Document Types"},"attributes":{"items":{"$ref":"#/components/schemas/AttributeFilter"},"type":"array","maxItems":8,"title":"Attributes"},"characteristics":{"items":{"$ref":"#/components/schemas/CharacteristicFilter"},"type":"array","maxItems":8,"title":"Characteristics"}},"additionalProperties":false,"type":"object","title":"SearchFilter","description":"Structured narrowing for `search_documents`. Everything is optional; conditions are ANDed.\n\nCodes come from the catalog endpoints: `GET /v1/catalog/document-types` and\n`GET /v1/catalog/characteristics`. A document type includes its more specific types."},"SearchRequest":{"properties":{"query":{"type":"string","title":"Query"},"limit":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Limit","default":10},"min_similarity":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Min Similarity","default":0.0},"entity_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Code"},"space_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Space Id","description":"Restrict the search to one Working Space the caller can see. An unknown or foreign space answers 404, like GET /v1/spaces/{space_id}."},"filter":{"anyOf":[{"$ref":"#/components/schemas/SearchFilter"},{"type":"null"}],"description":"Structured narrowing by document type, file attributes and content characteristics. Codes come from GET /v1/catalog/document-types and GET /v1/catalog/characteristics. A malformed or unknown code answers 400 with details.reason; a valid filter answers 409 (filter_not_available) until structured filters are enabled for the group."},"location_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Code","description":"Temporarily restrict the search to a visible folder and its descendants; invisible folders return 404."}},"type":"object","required":["query"],"title":"SearchRequest"},"SecretoGrupoCreate":{"properties":{"tipo_secreto":{"type":"string","maxLength":40,"minLength":1,"title":"Tipo Secreto"},"valor":{"type":"string","minLength":1,"title":"Valor"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","required":["tipo_secreto","valor"],"title":"SecretoGrupoCreate"},"SecretoGrupoResponse":{"properties":{"tipo_secreto":{"type":"string","title":"Tipo Secreto"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"creado_en":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Creado En"},"actualizado_en":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Actualizado En"}},"type":"object","required":["tipo_secreto"],"title":"SecretoGrupoResponse"},"SecretoGrupoUpdate":{"properties":{"valor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Valor"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","title":"SecretoGrupoUpdate"},"SesionIngestaRequest":{"properties":{"sesion":{"type":"string","maxLength":80,"minLength":16,"title":"Sesion"}},"type":"object","required":["sesion"],"title":"SesionIngestaRequest"},"SessionEntityResponse":{"properties":{"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"}},"type":"object","title":"SessionEntityResponse"},"SessionResponse":{"properties":{"authenticated":{"type":"boolean","title":"Authenticated"},"user":{"anyOf":[{"$ref":"#/components/schemas/SessionUserResponse"},{"type":"null"}]},"active_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Active Group"},"active_entity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Active Entity"},"active_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Active Area"},"effective_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Effective Area"},"authorized_area_root":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorized Area Root"},"area_focus_is_explicit":{"type":"boolean","title":"Area Focus Is Explicit","default":false},"profile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile"},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale"},"available_entities":{"items":{"$ref":"#/components/schemas/SessionEntityResponse"},"type":"array","title":"Available Entities"}},"type":"object","required":["authenticated"],"title":"SessionResponse"},"SessionUserResponse":{"properties":{"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"type":"object","title":"SessionUserResponse"},"SetActiveAreaRequest":{"properties":{"area_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area Code"}},"type":"object","required":["area_code"],"title":"SetActiveAreaRequest"},"SetActiveEntityRequest":{"properties":{"entity_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Code"}},"type":"object","required":["entity_code"],"title":"SetActiveEntityRequest"},"SincronizarFilaRequest":{"properties":{"tabla":{"type":"string","title":"Tabla"},"pk_columna":{"type":"string","title":"Pk Columna"},"pk_valor":{"type":"string","title":"Pk Valor"}},"type":"object","required":["tabla","pk_columna","pk_valor"],"title":"SincronizarFilaRequest"},"SincronizarRequest":{"properties":{"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"directorios":{"items":{"$ref":"#/components/schemas/DirectorioEscaneado"},"type":"array","title":"Directorios"},"codigo_ubicacion_raiz":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion Raiz"},"ruta_completa_raiz":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ruta Completa Raiz"},"codigo_fuente_ingesta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Fuente Ingesta"},"ref_fuente":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref Fuente"},"barrido_desde":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Barrido Desde"},"ausentes_bajo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ausentes Bajo"},"codigos_deshabilitar":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Codigos Deshabilitar","description":"Códigos de carpetas que ya no existen en el origen, para apagarlas (con todo lo que cuelga de ellas). Máximo 5.000 por llamada: si tienes más, mándalos en varias llamadas —`directorios` puede ir vacío—; apagar es idempotente. Con más de 5.000 responde 413 y no apaga nada."}},"type":"object","required":["directorios"],"title":"SincronizarRequest"},"SincronizarResponse":{"properties":{"insertadas":{"type":"integer","title":"Insertadas"},"deshabilitadas":{"type":"integer","title":"Deshabilitadas"},"actualizadas":{"type":"integer","title":"Actualizadas"},"total":{"type":"integer","title":"Total"},"excluidas":{"type":"integer","title":"Excluidas","default":0},"codigos_asignados":{"additionalProperties":{"type":"string"},"type":"object","title":"Codigos Asignados","default":{}},"marca_barrido":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Marca Barrido"}},"type":"object","required":["insertadas","deshabilitadas","actualizadas","total"],"title":"SincronizarResponse"},"SincronizarTablaRequest":{"properties":{"tabla":{"type":"string","title":"Tabla"},"solo_cambiadas":{"type":"boolean","title":"Solo Cambiadas","default":true}},"type":"object","required":["tabla"],"title":"SincronizarTablaRequest"},"SincronizarTodasRequest":{"properties":{"solo_cambiadas":{"type":"boolean","title":"Solo Cambiadas","default":true}},"type":"object","title":"SincronizarTodasRequest"},"SlaCategoria":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"nombre_categoria_proceso":{"type":"string","title":"Nombre Categoria Proceso"},"descripcion_categoria_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Categoria Proceso"},"orden":{"type":"integer","title":"Orden","default":99},"totales":{"$ref":"#/components/schemas/SlaTotales"},"tipos":{"items":{"$ref":"#/components/schemas/SlaTipo"},"type":"array","title":"Tipos"}},"type":"object","required":["codigo_categoria_proceso","nombre_categoria_proceso","totales","tipos"],"title":"SlaCategoria"},"SlaPanelResponse":{"properties":{"generado_en":{"type":"string","title":"Generado En"},"totales":{"$ref":"#/components/schemas/SlaTotales"},"categorias":{"items":{"$ref":"#/components/schemas/SlaCategoria"},"type":"array","title":"Categorias"}},"type":"object","required":["generado_en","totales","categorias"],"title":"SlaPanelResponse"},"SlaRegla":{"properties":{"id":{"type":"integer","title":"Id"},"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Proceso"},"prioridad":{"type":"string","title":"Prioridad"},"dias":{"type":"integer","title":"Dias"},"minutos":{"type":"integer","title":"Minutos"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","codigo_categoria_proceso","prioridad","dias","minutos"],"title":"SlaRegla"},"SlaReglaCreate":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Proceso"},"prioridad":{"type":"string","title":"Prioridad"},"dias":{"type":"integer","title":"Dias","default":0},"minutos":{"type":"integer","title":"Minutos","default":0}},"type":"object","required":["codigo_categoria_proceso","prioridad"],"title":"SlaReglaCreate"},"SlaReglaUpdate":{"properties":{"prioridad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prioridad"},"dias":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dias"},"minutos":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Minutos"}},"type":"object","title":"SlaReglaUpdate"},"SlaTipo":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"type":"string","title":"Codigo Tipo Proceso"},"nombre_tipo_proceso":{"type":"string","title":"Nombre Tipo Proceso"},"descripcion_tipo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Tipo Proceso"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"prioridad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prioridad"},"tiene_regla":{"type":"boolean","title":"Tiene Regla","default":false},"ultima_ejecucion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultima Ejecucion"},"revisar_por_cron":{"type":"boolean","title":"Revisar Por Cron","default":false},"expresion_cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expresion Cron"},"cron_activo":{"type":"boolean","title":"Cron Activo","default":false},"ultimo_disparo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultimo Disparo"},"totales":{"$ref":"#/components/schemas/SlaTotales"}},"type":"object","required":["codigo_categoria_proceso","codigo_tipo_proceso","nombre_tipo_proceso","totales"],"title":"SlaTipo"},"SlaTotales":{"properties":{"abiertos":{"type":"integer","title":"Abiertos","default":0},"vencidos":{"type":"integer","title":"Vencidos","default":0},"por_vencer":{"type":"integer","title":"Por Vencer","default":0},"al_dia":{"type":"integer","title":"Al Dia","default":0},"sin_sla":{"type":"integer","title":"Sin Sla","default":0},"cerrados_30d":{"type":"integer","title":"Cerrados 30D","default":0},"cumplidos_30d":{"type":"integer","title":"Cumplidos 30D","default":0},"pct_cumplimiento":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Cumplimiento"}},"type":"object","title":"SlaTotales"},"SobreEjecucion":{"properties":{"aceptada":{"type":"boolean","title":"Aceptada"},"codigo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso"},"codigo_habilidad":{"type":"string","title":"Codigo Habilidad"},"categoria":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categoria"},"tipo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo"},"estado":{"type":"string","enum":["PENDIENTE","EN_PROCESO","COMPLETADO","ERROR"],"title":"Estado","default":"PENDIENTE"},"objetivo":{"anyOf":[{"$ref":"#/components/schemas/Objetivo"},{"type":"null"}]},"costo":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Costo"},"fecha_inicio":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fecha Inicio"},"fecha_fin":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fecha Fin"},"detalle":{"$ref":"#/components/schemas/DetalleEjecucion","default":{"n_items_cola":0,"n_no_procesables":0,"no_procesables":[]}},"mensaje":{"type":"string","title":"Mensaje","default":""},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["aceptada","codigo_habilidad"],"title":"SobreEjecucion","description":"Contrato uniforme devuelto por TODA invocación de capability.\n\nProyección de una fila de `procesos` + cifras de aceptación. Lo consumen\npor igual chat, REST, MCP y CLI (fin de los nombres divergentes\nid_espacio/ids_cola/id_ejecucion)."},"SolicitudInterAmbienteEmitir":{"properties":{"ambiente_destino":{"type":"string","enum":["TEST","PROD","CORP"],"title":"Ambiente Destino"},"codigo_categoria_proceso":{"type":"string","maxLength":80,"minLength":1,"title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"type":"string","maxLength":120,"minLength":1,"title":"Codigo Tipo Proceso"},"nombre_proceso":{"type":"string","maxLength":200,"minLength":3,"title":"Nombre Proceso"},"alias_proceso":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Alias Proceso"},"descripcion_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Proceso"},"comentarios_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comentarios Proceso"},"prioridad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prioridad"},"datos":{"additionalProperties":true,"type":"object","title":"Datos"},"destinatario":{"anyOf":[{"$ref":"#/components/schemas/InterAmbienteDestinatario"},{"type":"null"}]}},"type":"object","required":["ambiente_destino","codigo_categoria_proceso","codigo_tipo_proceso","nombre_proceso"],"title":"SolicitudInterAmbienteEmitir"},"SolicitudInterAmbienteEntrante":{"properties":{"codigo_correlacion":{"type":"string","format":"uuid","title":"Codigo Correlacion"},"ambiente_origen":{"type":"string","enum":["TEST","PROD","CORP"],"title":"Ambiente Origen"},"ambiente_destino":{"type":"string","enum":["TEST","PROD","CORP"],"title":"Ambiente Destino"},"codigo_categoria_proceso":{"type":"string","maxLength":80,"minLength":1,"title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"type":"string","maxLength":120,"minLength":1,"title":"Codigo Tipo Proceso"},"nombre_proceso":{"type":"string","maxLength":200,"minLength":3,"title":"Nombre Proceso"},"alias_proceso":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Alias Proceso"},"descripcion_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Proceso"},"comentarios_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comentarios Proceso"},"prioridad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prioridad"},"datos":{"additionalProperties":true,"type":"object","title":"Datos"},"secuencia":{"type":"integer","minimum":1.0,"title":"Secuencia","default":1},"url_callback":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Callback"},"emisor":{"$ref":"#/components/schemas/InterAmbienteEmisor"},"destinatario":{"anyOf":[{"$ref":"#/components/schemas/InterAmbienteDestinatario"},{"type":"null"}]}},"type":"object","required":["codigo_correlacion","ambiente_origen","ambiente_destino","codigo_categoria_proceso","codigo_tipo_proceso","nombre_proceso","emisor"],"title":"SolicitudInterAmbienteEntrante"},"SolicitudSoporteCreate":{"properties":{"asunto":{"type":"string","maxLength":200,"minLength":3,"title":"Asunto"},"descripcion":{"type":"string","minLength":10,"title":"Descripcion"},"adjuntos":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Adjuntos"}},"type":"object","required":["asunto","descripcion"],"title":"SolicitudSoporteCreate"},"SolicitudSoporteResponse":{"properties":{"codigo_proceso":{"type":"string","title":"Codigo Proceso"},"estado":{"type":"string","title":"Estado"},"mensaje":{"type":"string","title":"Mensaje"}},"type":"object","required":["codigo_proceso","estado","mensaje"],"title":"SolicitudSoporteResponse"},"SubirCaracteristicasRequest":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"caracteristicas":{"items":{"$ref":"#/components/schemas/CaracteristicaSync"},"type":"array","title":"Caracteristicas"}},"type":"object","required":["codigo_grupo","caracteristicas"],"title":"SubirCaracteristicasRequest"},"SubirChunksRequest":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"chunks":{"items":{"$ref":"#/components/schemas/ChunkSync"},"type":"array","title":"Chunks"}},"type":"object","required":["codigo_grupo","chunks"],"title":"SubirChunksRequest"},"SubirDocumentosRequest":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"documentos":{"items":{"$ref":"#/components/schemas/DocumentoSync"},"type":"array","title":"Documentos"}},"type":"object","required":["codigo_grupo","documentos"],"title":"SubirDocumentosRequest"},"SubirPropuestasRequest":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"propuestas":{"items":{"$ref":"#/components/schemas/PropuestaSync"},"type":"array","title":"Propuestas"}},"type":"object","required":["codigo_grupo","propuestas"],"title":"SubirPropuestasRequest"},"SubirUbicacionesRequest":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"ubicaciones":{"items":{"$ref":"#/components/schemas/UbicacionSync"},"type":"array","title":"Ubicaciones"}},"type":"object","required":["codigo_grupo","ubicaciones"],"title":"SubirUbicacionesRequest"},"TablaTraducibleUpdate":{"properties":{"activa":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Activa"},"tiene_columna_traducir":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Tiene Columna Traducir"},"pk":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pk"},"pk_partes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Pk Partes"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","title":"TablaTraducibleUpdate"},"TareaCreate":{"properties":{"id_conversacion":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Conversacion"},"codigo_categoria_tarea":{"type":"string","title":"Codigo Categoria Tarea"},"codigo_tipo_tarea":{"type":"string","title":"Codigo Tipo Tarea"},"codigo_usuario_destinatario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario Destinatario"},"codigo_ubicacion_area_asignada":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion Area Asignada"},"codigo_usuario_asignado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario Asignado"},"nombre_tarea":{"type":"string","title":"Nombre Tarea"},"descripcion_tarea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Tarea"},"adjunto":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Adjunto"},"comentarios":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comentarios"},"prioridad":{"type":"string","title":"Prioridad","default":"MEDIUM"},"codigo_estado_tarea":{"type":"string","title":"Codigo Estado Tarea"},"costo_tarea":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Costo Tarea"},"esfuerzo_horas":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Esfuerzo Horas"},"fecha_esperada":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Esperada"},"json":{"anyOf":[{},{"type":"null"}],"title":"Json"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"},"codigo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso"},"id_tarea_superior":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Tarea Superior"}},"type":"object","required":["codigo_categoria_tarea","codigo_tipo_tarea","nombre_tarea","codigo_estado_tarea"],"title":"TareaCreate"},"TareaGrupoCreate":{"properties":{"codigo_tarea_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tarea Grupo"},"nombre_tarea_grupo":{"type":"string","title":"Nombre Tarea Grupo"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso","default":"USUARIO"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"id_tarea_grupo_superior":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Tarea Grupo Superior"}},"type":"object","required":["nombre_tarea_grupo"],"title":"TareaGrupoCreate"},"TareaGrupoOrden":{"properties":{"id_tarea_grupo":{"type":"integer","title":"Id Tarea Grupo"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["id_tarea_grupo","orden"],"title":"TareaGrupoOrden"},"TareaGrupoResponse":{"properties":{"id_tarea_grupo":{"type":"integer","title":"Id Tarea Grupo"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_entidad":{"type":"string","title":"Codigo Entidad"},"codigo_tarea_grupo":{"type":"string","title":"Codigo Tarea Grupo"},"nombre_tarea_grupo":{"type":"string","title":"Nombre Tarea Grupo"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"tipo_acceso":{"type":"string","title":"Tipo Acceso","default":"USUARIO"},"orden":{"type":"integer","title":"Orden","default":0},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"id_tarea_grupo_superior":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Tarea Grupo Superior"}},"type":"object","required":["id_tarea_grupo","codigo_grupo","codigo_entidad","codigo_tarea_grupo","nombre_tarea_grupo"],"title":"TareaGrupoResponse"},"TareaGrupoUpdate":{"properties":{"nombre_tarea_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Tarea Grupo"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"id_tarea_grupo_superior":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Tarea Grupo Superior"}},"type":"object","title":"TareaGrupoUpdate"},"TareaLocal":{"properties":{"id_cola":{"type":"integer","title":"Id Cola"},"codigo_documento":{"type":"string","title":"Codigo Documento"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_estado_doc_origen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Doc Origen"},"codigo_estado_doc_destino":{"type":"string","title":"Codigo Estado Doc Destino"},"codigo_habilidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Habilidad"},"prioridad":{"type":"integer","title":"Prioridad"},"intentos":{"type":"integer","title":"Intentos"},"max_intentos":{"type":"integer","title":"Max Intentos"},"lease_token":{"type":"string","title":"Lease Token"},"lease_expires_at":{"type":"string","title":"Lease Expires At"},"opciones":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Opciones"},"nombre_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Documento"},"ubicacion_documento":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ubicacion Documento"},"hash_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hash Sha256"}},"type":"object","required":["id_cola","codigo_documento","codigo_grupo","codigo_estado_doc_origen","codigo_estado_doc_destino","codigo_habilidad","prioridad","intentos","max_intentos","lease_token","lease_expires_at","opciones","nombre_documento","ubicacion_documento","hash_sha256"],"title":"TareaLocal"},"TareaUpdate":{"properties":{"id_conversacion":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Conversacion"},"codigo_categoria_tarea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Categoria Tarea"},"codigo_tipo_tarea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Tarea"},"codigo_usuario_destinatario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario Destinatario"},"codigo_ubicacion_area_asignada":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion Area Asignada"},"codigo_usuario_asignado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Usuario Asignado"},"nombre_tarea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Tarea"},"descripcion_tarea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Tarea"},"adjunto":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Adjunto"},"comentarios":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comentarios"},"prioridad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prioridad"},"codigo_estado_tarea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Tarea"},"costo_tarea":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Costo Tarea"},"esfuerzo_horas":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Esfuerzo Horas"},"fecha_esperada":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Esperada"},"fecha_cierre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fecha Cierre"},"json":{"anyOf":[{},{"type":"null"}],"title":"Json"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"},"codigo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso"},"id_tarea_superior":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Tarea Superior"}},"type":"object","title":"TareaUpdate"},"TipificacionSync":{"properties":{"enabled":{"type":"boolean","title":"Enabled","default":false},"schema_version":{"type":"string","title":"Schema Version","default":"1"},"mode":{"type":"string","enum":["legacy","neutral"],"title":"Mode","default":"legacy"},"threshold_high":{"type":"number","title":"Threshold High","default":0.85},"threshold_medium":{"type":"number","title":"Threshold Medium","default":0.6},"unclassified_type_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unclassified Type Id"},"unprocessable_type_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unprocessable Type Id"}},"type":"object","title":"TipificacionSync","description":"Configuración efectiva de tipificación para el grupo/entidad activos."},"TipoAccesoCreate":{"properties":{"codigo_tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Acceso"},"nombre_tipo_acceso":{"type":"string","title":"Nombre Tipo Acceso"},"tipo_acceso_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso Superior"}},"type":"object","required":["nombre_tipo_acceso"],"title":"TipoAccesoCreate"},"TipoAccesoResponse":{"properties":{"codigo_tipo_acceso":{"type":"string","title":"Codigo Tipo Acceso"},"nombre_tipo_acceso":{"type":"string","title":"Nombre Tipo Acceso"},"tipo_acceso_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso Superior"}},"type":"object","required":["codigo_tipo_acceso","nombre_tipo_acceso"],"title":"TipoAccesoResponse"},"TipoAccesoUpdate":{"properties":{"nombre_tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Tipo Acceso"},"tipo_acceso_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso Superior"}},"type":"object","title":"TipoAccesoUpdate"},"TipoCanonicoTareaCreate":{"properties":{"codigo_tipo_canonico":{"type":"string","title":"Codigo Tipo Canonico"},"nombre_tipo_canonico":{"type":"string","title":"Nombre Tipo Canonico"},"descripcion_tipo_canonico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Tipo Canonico"}},"type":"object","required":["codigo_tipo_canonico","nombre_tipo_canonico"],"title":"TipoCanonicoTareaCreate"},"TipoCanonicoTareaUpdate":{"properties":{"nombre_tipo_canonico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Tipo Canonico"},"descripcion_tipo_canonico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Tipo Canonico"}},"type":"object","title":"TipoCanonicoTareaUpdate"},"TipoCaractDocsCreate":{"properties":{"codigo_cat_docs":{"type":"string","title":"Codigo Cat Docs"},"codigo_tipo_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Docs"},"nombre_tipo_docs":{"type":"string","title":"Nombre Tipo Docs"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"max_por_tipo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Por Tipo"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"}},"type":"object","required":["codigo_cat_docs","nombre_tipo_docs"],"title":"TipoCaractDocsCreate"},"TipoCaractDocsResponse":{"properties":{"codigo_cat_docs":{"type":"string","title":"Codigo Cat Docs"},"codigo_tipo_docs":{"type":"string","title":"Codigo Tipo Docs"},"codigo_tipo_docs_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Docs En"},"nombre_tipo_docs":{"type":"string","title":"Nombre Tipo Docs"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"orden":{"type":"integer","title":"Orden","default":0},"max_por_tipo":{"type":"integer","title":"Max Por Tipo","default":1},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"}},"type":"object","required":["codigo_cat_docs","codigo_tipo_docs","nombre_tipo_docs"],"title":"TipoCaractDocsResponse"},"TipoCaractDocsUpdate":{"properties":{"nombre_tipo_docs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Tipo Docs"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"max_por_tipo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Por Tipo"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"}},"type":"object","title":"TipoCaractDocsUpdate"},"TipoCaractPersCreate":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_cat_pers":{"type":"string","title":"Codigo Cat Pers"},"codigo_tipo_pers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Pers"},"nombre_tipo_pers":{"type":"string","title":"Nombre Tipo Pers"}},"type":"object","required":["codigo_grupo","codigo_cat_pers","nombre_tipo_pers"],"title":"TipoCaractPersCreate"},"TipoCaractPersResponse":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_cat_pers":{"type":"string","title":"Codigo Cat Pers"},"codigo_tipo_pers":{"type":"string","title":"Codigo Tipo Pers"},"nombre_tipo_pers":{"type":"string","title":"Nombre Tipo Pers"}},"type":"object","required":["codigo_grupo","codigo_cat_pers","codigo_tipo_pers","nombre_tipo_pers"],"title":"TipoCaractPersResponse"},"TipoCaractPersUpdate":{"properties":{"nombre_tipo_pers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Tipo Pers"}},"type":"object","title":"TipoCaractPersUpdate"},"TipoCaracteristicaResumen":{"properties":{"codigo_tipo_docs":{"type":"string","title":"Codigo Tipo Docs"},"nombre_tipo_docs":{"type":"string","title":"Nombre Tipo Docs"},"orden":{"type":"integer","title":"Orden"},"max_por_tipo":{"type":"integer","title":"Max Por Tipo"},"rol_discriminador":{"anyOf":[{"type":"string","enum":["FECHA_PROPIA","FECHA","IDENTIFICADOR"]},{"type":"null"}],"title":"Rol Discriminador"}},"type":"object","required":["codigo_tipo_docs","nombre_tipo_docs","orden","max_por_tipo"],"title":"TipoCaracteristicaResumen"},"TipoConversacionCreate":{"properties":{"codigo_tipo_conversacion":{"type":"string","title":"Codigo Tipo Conversacion"},"nombre":{"type":"string","title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","required":["codigo_tipo_conversacion","nombre"],"title":"TipoConversacionCreate"},"TipoConversacionUpdate":{"properties":{"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","title":"TipoConversacionUpdate"},"TipoCreate":{"properties":{"categoria_parametro":{"type":"string","title":"Categoria Parametro"},"tipo_parametro":{"type":"string","title":"Tipo Parametro"},"nombre":{"type":"string","title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"valor_ejemplo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Ejemplo"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"}},"type":"object","required":["categoria_parametro","tipo_parametro","nombre"],"title":"TipoCreate"},"TipoCron":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"type":"string","title":"Codigo Tipo Proceso"},"nombre_tipo_proceso":{"type":"string","title":"Nombre Tipo Proceso"},"expresion_cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expresion Cron"},"cron_activo":{"type":"boolean","title":"Cron Activo","default":false},"implementado":{"type":"boolean","title":"Implementado","default":false},"dias_retencion":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dias Retencion"},"ultimo_disparo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultimo Disparo"},"ultima_ejecucion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultima Ejecucion"},"ultimo_estado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultimo Estado"},"ultimo_estado_canonico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultimo Estado Canonico"},"ultimo_resultado":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ultimo Resultado"},"codigo_proceso_ultima_ejecucion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso Ultima Ejecucion"},"permite_manual":{"type":"boolean","title":"Permite Manual","default":true},"ejecuta_agente":{"type":"boolean","title":"Ejecuta Agente","default":false},"tiene_runner_backend":{"type":"boolean","title":"Tiene Runner Backend","default":false},"solicita_ejecucion_delegada":{"type":"boolean","title":"Solicita Ejecucion Delegada","default":false},"configuracion_delegada_valida":{"type":"boolean","title":"Configuracion Delegada Valida","default":false},"estado_implementacion":{"type":"string","title":"Estado Implementacion","default":"NOT_IMPLEMENTED"},"configuracion_ejecucion":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Configuracion Ejecucion"},"resultado_ultimo_disparo":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Resultado Ultimo Disparo"},"ejecuciones_30d":{"type":"integer","title":"Ejecuciones 30D","default":0},"exitos_30d":{"type":"integer","title":"Exitos 30D","default":0},"fallos_30d":{"type":"integer","title":"Fallos 30D","default":0},"proximas":{"items":{"$ref":"#/components/schemas/ProximaEjecucion"},"type":"array","title":"Proximas","default":[]}},"type":"object","required":["codigo_categoria_proceso","codigo_tipo_proceso","nombre_tipo_proceso"],"title":"TipoCron"},"TipoDocumentoCreate":{"properties":{"codigo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo"},"nombre":{"type":"string","title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"sinonimos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Sinonimos"},"codigo_tipo_documento_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Documento Superior"},"colapsado":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Colapsado"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"alcance":{"anyOf":[{"type":"string","enum":["ENTITY","GROUP"]},{"type":"null"}],"title":"Alcance"}},"type":"object","required":["nombre"],"title":"TipoDocumentoCreate"},"TipoDocumentoEntidadResumen":{"properties":{"codigo":{"type":"string","title":"Codigo"},"nombre":{"type":"string","title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"sinonimos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Sinonimos"},"codigo_tipo_documento_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Documento Superior"},"colapsado":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Colapsado"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"documentos":{"type":"integer","title":"Documentos"},"categorias":{"items":{"$ref":"#/components/schemas/CategoriaTipoDocumentoResumen"},"type":"array","title":"Categorias","default":[]}},"type":"object","required":["codigo","nombre","documentos"],"title":"TipoDocumentoEntidadResumen"},"TipoDocumentoImpacto":{"properties":{"codigo":{"type":"string","title":"Codigo"},"documentos":{"type":"integer","title":"Documentos"},"categorias":{"type":"integer","title":"Categorias"},"caracteristicas":{"type":"integer","title":"Caracteristicas"}},"type":"object","required":["codigo","documentos","categorias","caracteristicas"],"title":"TipoDocumentoImpacto"},"TipoDocumentoPersonaCreate":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_tipo_identificador":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Identificador"},"nombre":{"type":"string","title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","required":["codigo_grupo","nombre"],"title":"TipoDocumentoPersonaCreate"},"TipoDocumentoPersonaResponse":{"properties":{"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_tipo_identificador":{"type":"string","title":"Codigo Tipo Identificador"},"nombre":{"type":"string","title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","required":["codigo_grupo","codigo_tipo_identificador","nombre"],"title":"TipoDocumentoPersonaResponse"},"TipoDocumentoPersonaUpdate":{"properties":{"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"}},"type":"object","title":"TipoDocumentoPersonaUpdate"},"TipoDocumentoResponse":{"properties":{"codigo":{"type":"string","title":"Codigo"},"nombre":{"type":"string","title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"sinonimos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Sinonimos"},"codigo_tipo_documento_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Documento Superior"},"colapsado":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Colapsado"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"}},"type":"object","required":["codigo","nombre"],"title":"TipoDocumentoResponse"},"TipoDocumentoUpdate":{"properties":{"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"sinonimos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Sinonimos"},"codigo_tipo_documento_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Documento Superior"},"colapsado":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Colapsado"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"}},"type":"object","title":"TipoDocumentoUpdate"},"TipoProcesCreate":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Proceso"},"nombre_tipo_proceso":{"type":"string","title":"Nombre Tipo Proceso"},"descripcion_tipo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Tipo Proceso"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"codigo_tipo_proceso_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Proceso Superior"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"traducir":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Traducir"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"},"asunto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asunto"},"cuerpo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cuerpo"},"codigo_destino_externo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Destino Externo"},"permite_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Permite Manual"},"revisar_por_cron":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Revisar Por Cron"},"expresion_cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expresion Cron"},"cron_activo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Cron Activo"},"codigo_tipo_cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Cron"},"codigo_estado_ejecucion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Ejecucion"},"ejecuta_agente":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ejecuta Agente"},"json":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Json"}},"type":"object","required":["codigo_categoria_proceso","nombre_tipo_proceso"],"title":"TipoProcesCreate"},"TipoProcesUpdate":{"properties":{"nombre_tipo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Tipo Proceso"},"descripcion_tipo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Tipo Proceso"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"codigo_tipo_proceso_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Proceso Superior"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"traducir":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Traducir"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"},"asunto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asunto"},"cuerpo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cuerpo"},"codigo_destino_externo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Destino Externo"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"},"permite_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Permite Manual"},"revisar_por_cron":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Revisar Por Cron"},"expresion_cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expresion Cron"},"cron_activo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Cron Activo"},"codigo_tipo_cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Cron"},"codigo_estado_ejecucion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estado Ejecucion"},"ejecuta_agente":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ejecuta Agente"},"json":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Json"}},"type":"object","title":"TipoProcesUpdate"},"TipoProcesoAsignar":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"type":"string","title":"Codigo Tipo Proceso"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"}},"type":"object","required":["codigo_categoria_proceso","codigo_tipo_proceso"],"title":"TipoProcesoAsignar"},"TipoProcesoOrden":{"properties":{"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"type":"string","title":"Codigo Tipo Proceso"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["codigo_categoria_proceso","codigo_tipo_proceso","orden"],"title":"TipoProcesoOrden"},"TipoProveedorResponse":{"properties":{"codigo_tipo_proveedor":{"type":"string","title":"Codigo Tipo Proveedor"},"nombre_visible":{"type":"string","title":"Nombre Visible"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"orden":{"type":"integer","title":"Orden"},"activo":{"type":"boolean","title":"Activo"}},"type":"object","required":["codigo_tipo_proveedor","nombre_visible","orden","activo"],"title":"TipoProveedorResponse"},"TipoTareaCreate":{"properties":{"codigo_categoria_tarea":{"type":"string","title":"Codigo Categoria Tarea"},"codigo_tipo_tarea":{"type":"string","title":"Codigo Tipo Tarea"},"codigo_tipo_canonico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Canonico"},"nombre_tipo_tarea":{"type":"string","title":"Nombre Tipo Tarea"},"descripcion_tipo_tarea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Tipo Tarea"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"generacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generacion"},"programa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Programa"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"}},"type":"object","required":["codigo_categoria_tarea","codigo_tipo_tarea","nombre_tipo_tarea"],"title":"TipoTareaCreate"},"TipoTareaUpdate":{"properties":{"codigo_tipo_canonico":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Canonico"},"nombre_tipo_tarea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Tipo Tarea"},"descripcion_tipo_tarea":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion Tipo Tarea"},"ayuda":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ayuda"},"generacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generacion"},"programa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Programa"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"}},"type":"object","title":"TipoTareaUpdate"},"TipoUpdate":{"properties":{"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"valor_ejemplo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Valor Ejemplo"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"javascript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Javascript"},"python_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Python Editado Manual"},"javascript_editado_manual":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Javascript Editado Manual"}},"type":"object","title":"TipoUpdate"},"TransicionEstadoCreate":{"properties":{"categoria":{"type":"string","title":"Categoria"},"estado_origen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Origen"},"estado_destino":{"type":"string","title":"Estado Destino"},"codigo_categoria_proceso":{"type":"string","title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"type":"string","title":"Codigo Tipo Proceso"},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"},"orden":{"type":"integer","title":"Orden","default":0},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"},"codigo_habilidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Habilidad"},"n_parallel":{"type":"integer","title":"N Parallel","default":10},"batch_size":{"type":"integer","title":"Batch Size","default":0},"batch_timeout_seg":{"type":"integer","title":"Batch Timeout Seg","default":0},"timeout_extraccion_seg":{"type":"integer","title":"Timeout Extraccion Seg","default":0},"chunk_size":{"type":"integer","title":"Chunk Size","default":0},"overlap":{"type":"integer","title":"Overlap","default":0},"max_intentos":{"type":"integer","title":"Max Intentos","default":3}},"type":"object","required":["categoria","estado_destino","codigo_categoria_proceso","codigo_tipo_proceso"],"title":"TransicionEstadoCreate"},"TransicionEstadoUpdate":{"properties":{"categoria":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Categoria"},"estado_origen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Origen"},"estado_destino":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Destino"},"codigo_categoria_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Categoria Proceso"},"codigo_tipo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Tipo Proceso"},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"python_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"python_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Python Update"},"md":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Md"},"codigo_habilidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Habilidad"},"n_parallel":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"N Parallel"},"batch_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Batch Size"},"batch_timeout_seg":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Batch Timeout Seg"},"timeout_extraccion_seg":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Timeout Extraccion Seg"},"chunk_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Size"},"overlap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Overlap"},"max_intentos":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Intentos"}},"type":"object","title":"TransicionEstadoUpdate"},"TransicionResponse":{"properties":{"id":{"type":"integer","title":"Id"},"categoria":{"type":"string","title":"Categoria"},"estado_origen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Estado Origen"},"estado_destino":{"type":"string","title":"Estado Destino"},"codigo_tipo_proceso":{"type":"string","title":"Codigo Tipo Proceso"},"nombre_proceso":{"type":"string","title":"Nombre Proceso"},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["id","categoria","estado_destino","codigo_tipo_proceso","nombre_proceso","orden"],"title":"TransicionResponse"},"TransicionUpdate":{"properties":{"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"id_modelo":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Modelo"}},"type":"object","title":"TransicionUpdate"},"UbicacionDocCreate":{"properties":{"codigo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"id_persona":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Persona"},"nombre_ubicacion":{"type":"string","title":"Nombre Ubicacion"},"alias_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Ubicacion"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"codigo_ubicacion_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion Superior"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden","default":0},"tipo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Ubicacion"},"codigo_habilidad_adquisicion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Habilidad Adquisicion"},"configuracion_adquisicion":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Configuracion Adquisicion"},"tipo_fuente":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Fuente"},"codigo_fuente_ingesta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Fuente Ingesta"},"ref_fuente":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref Fuente"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"}},"type":"object","required":["codigo_grupo","nombre_ubicacion"],"title":"UbicacionDocCreate"},"UbicacionDocResponse":{"properties":{"codigo_ubicacion":{"type":"string","title":"Codigo Ubicacion"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"id_persona":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Persona"},"nombre_ubicacion":{"type":"string","title":"Nombre Ubicacion"},"alias_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Ubicacion"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"codigo_ubicacion_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion Superior"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"nivel":{"type":"integer","title":"Nivel","default":0},"orden":{"type":"integer","title":"Orden","default":0},"ubicacion_habilitada":{"type":"boolean","title":"Ubicacion Habilitada","default":true},"tipo_ubicacion":{"type":"string","title":"Tipo Ubicacion","default":"CONTENIDO"},"tiene_hijos":{"type":"boolean","title":"Tiene Hijos","default":false},"codigo_habilidad_adquisicion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Habilidad Adquisicion"},"configuracion_adquisicion":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Configuracion Adquisicion"},"tipo_fuente":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Fuente"},"codigo_fuente_ingesta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Fuente Ingesta"},"ref_fuente":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref Fuente"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"}},"type":"object","required":["codigo_ubicacion","codigo_grupo","nombre_ubicacion"],"title":"UbicacionDocResponse"},"UbicacionDocUpdate":{"properties":{"nombre_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Ubicacion"},"alias_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Ubicacion"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"id_persona":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Persona"},"codigo_ubicacion_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion Superior"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"},"ubicacion_habilitada":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ubicacion Habilitada"},"tipo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Ubicacion"},"codigo_habilidad_adquisicion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Habilidad Adquisicion"},"configuracion_adquisicion":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Configuracion Adquisicion"},"tipo_fuente":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Fuente"},"codigo_fuente_ingesta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Fuente Ingesta"},"ref_fuente":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref Fuente"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"}},"type":"object","title":"UbicacionDocUpdate"},"UbicacionSync":{"properties":{"codigo_ubicacion":{"type":"string","title":"Codigo Ubicacion"},"nombre":{"type":"string","title":"Nombre"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"ruta_completa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ruta Completa"},"ubicacion_superior":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ubicacion Superior"},"nivel":{"type":"integer","title":"Nivel","default":1},"tipo_ubicacion":{"type":"string","title":"Tipo Ubicacion","default":"CONTENIDO"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"}},"type":"object","required":["codigo_ubicacion","nombre"],"title":"UbicacionSync"},"UpdateOrganizationRequest":{"properties":{"group_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group Description"},"group_system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group System Prompt"},"entity_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Description"},"entity_system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity System Prompt"},"entity_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Code"}},"type":"object","title":"UpdateOrganizationRequest","description":"Solo los campos presentes se escriben; los omitidos quedan como están."},"UpdateProcessRequest":{"properties":{"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"priority":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"comments":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comments"},"assigned_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To"},"due_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Due At"},"finished_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Finished At"},"cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cost"}},"type":"object","title":"UpdateProcessRequest","description":"Los mismos campos que edita la pantalla `/profile-process`. Nada más:\n`datos`, `md` y la función disparadora son maquinaria y no se exponen."},"UsoClaudeDocumentacion":{"properties":{"total_cost_usd":{"type":"number","minimum":0.0,"title":"Total Cost Usd"},"tokens_input":{"type":"integer","minimum":0.0,"title":"Tokens Input","default":0},"tokens_output":{"type":"integer","minimum":0.0,"title":"Tokens Output","default":0},"tokens_cache_read":{"type":"integer","minimum":0.0,"title":"Tokens Cache Read","default":0},"tokens_cache_write":{"type":"integer","minimum":0.0,"title":"Tokens Cache Write","default":0},"duracion_ms":{"type":"integer","minimum":0.0,"title":"Duracion Ms","default":0}},"type":"object","required":["total_cost_usd"],"title":"UsoClaudeDocumentacion"},"UsuarioContexto":{"properties":{"codigo_usuario":{"type":"string","title":"Codigo Usuario"},"correo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Correo"},"nombre":{"type":"string","title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"locale":{"type":"string","title":"Locale","default":"en"},"grupo_activo":{"type":"string","title":"Grupo Activo"},"nombre_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Grupo"},"alias_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Grupo"},"entidad_activa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entidad Activa"},"nombre_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Entidad"},"alias_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Entidad"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"},"codigo_area_activa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area Activa"},"codigo_area_raiz_autorizada":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area Raiz Autorizada"},"nombre_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Area"},"alias_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Area"},"id_rol_principal":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Rol Principal"},"rol_principal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rol Principal"},"nombre_rol_principal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Rol Principal"},"url_inicio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Inicio"},"roles":{"items":{"type":"string"},"type":"array","title":"Roles","default":[]},"id_roles":{"items":{"type":"integer"},"type":"array","title":"Id Roles","default":[]},"puede_revelar_documentos":{"type":"boolean","title":"Puede Revelar Documentos","default":false},"funciones":{"items":{"type":"string"},"type":"array","title":"Funciones","default":[]},"entidades":{"items":{"$ref":"#/components/schemas/EntidadResumen"},"type":"array","title":"Entidades","default":[]},"grupos":{"items":{"$ref":"#/components/schemas/GrupoResumen"},"type":"array","title":"Grupos","default":[]},"sesion_duracion_minutos":{"type":"integer","title":"Sesion Duracion Minutos","default":90},"menu":{"items":{"$ref":"#/components/schemas/RolMenu"},"type":"array","title":"Menu","default":[]},"tema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Tema"},"aplicacion_por_defecto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aplicacion Por Defecto"},"aplicacion_activa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aplicacion Activa"},"nombre_aplicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Aplicacion"},"alias_aplicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias Aplicacion"},"sidebar_ancho":{"type":"boolean","title":"Sidebar Ancho","default":true},"aplicaciones_disponibles":{"items":{"$ref":"#/components/schemas/AplicacionResumen"},"type":"array","title":"Aplicaciones Disponibles","default":[]},"aplicaciones_url":{"additionalProperties":{"type":"string"},"type":"object","title":"Aplicaciones Url","default":{}},"funcion_activa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Funcion Activa"},"tipo_acceso":{"type":"string","title":"Tipo Acceso","default":"USUARIO"},"credencial_api_key":{"type":"boolean","title":"Credencial Api Key","default":false},"codigo_estacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Estacion"},"clase_usuario":{"type":"string","title":"Clase Usuario","default":"MAIL"},"traducciones":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Traducciones"},"traducciones_fallback_en":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Traducciones Fallback En"},"log_sql":{"type":"boolean","title":"Log Sql","default":true},"client_mode":{"type":"string","title":"Client Mode","default":"web"}},"type":"object","required":["codigo_usuario","nombre","grupo_activo"],"title":"UsuarioContexto","description":"Contexto completo del usuario autenticado."},"UsuarioCreate":{"properties":{"codigo_usuario":{"type":"string","title":"Codigo Usuario"},"correo":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Correo"},"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"entidad_por_defecto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entidad Por Defecto"},"grupo_por_defecto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grupo Por Defecto"},"telefono":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telefono"},"id_rol_principal":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Rol Principal"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"},"aplicacion_por_defecto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aplicacion Por Defecto"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"clase_usuario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clase Usuario"},"sidebar_colapsado":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sidebar Colapsado"},"invitar":{"type":"boolean","title":"Invitar","default":true},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"fecha_inicial":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Fecha Inicial"},"fecha_final":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Fecha Final"}},"type":"object","required":["codigo_usuario"],"title":"UsuarioCreate"},"UsuarioGrupoAsignar":{"properties":{"codigo_usuario":{"type":"string","title":"Codigo Usuario"}},"type":"object","required":["codigo_usuario"],"title":"UsuarioGrupoAsignar"},"UsuarioResponse":{"properties":{"codigo_usuario":{"type":"string","title":"Codigo Usuario"},"correo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Correo"},"nombre":{"type":"string","title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"clase_usuario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clase Usuario"},"entidad_por_defecto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entidad Por Defecto"},"grupo_por_defecto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grupo Por Defecto"},"telefono":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telefono"},"fono_verificado":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Fono Verificado"},"fono_verificado_fecha":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fono Verificado Fecha"},"id_rol_principal":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Rol Principal"},"codigo_rol_principal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Rol Principal"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"},"aplicacion_por_defecto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aplicacion Por Defecto"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"locale":{"type":"string","title":"Locale","default":"es"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"nombre_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre Grupo"},"tipo_acceso_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso Grupo"},"sidebar_colapsado":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sidebar Colapsado"},"fecha_baja":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fecha Baja"},"fecha_creacion":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fecha Creacion"},"ultimo_acceso":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ultimo Acceso"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"fecha_inicial":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Fecha Inicial"},"fecha_final":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Fecha Final"}},"type":"object","required":["codigo_usuario","nombre"],"title":"UsuarioResponse"},"UsuarioRolAsignar":{"properties":{"id_rol":{"type":"integer","title":"Id Rol"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"}},"type":"object","required":["id_rol","codigo_grupo"],"title":"UsuarioRolAsignar"},"UsuarioRolOrden":{"properties":{"id_rol":{"type":"integer","title":"Id Rol"},"codigo_grupo":{"type":"string","title":"Codigo Grupo"},"orden":{"type":"integer","title":"Orden"}},"type":"object","required":["id_rol","codigo_grupo","orden"],"title":"UsuarioRolOrden"},"UsuarioUpdate":{"properties":{"nombre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nombre"},"correo":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Correo"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"entidad_por_defecto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entidad Por Defecto"},"grupo_por_defecto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grupo Por Defecto"},"telefono":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telefono"},"id_rol_principal":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id Rol Principal"},"codigo_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Area"},"aplicacion_por_defecto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aplicacion Por Defecto"},"descripcion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descripcion"},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale"},"tipo_acceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tipo Acceso"},"sidebar_colapsado":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sidebar Colapsado"},"fecha_baja":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fecha Baja"},"prompt_insert":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Insert"},"prompt_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Update"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"fecha_inicial":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Fecha Inicial"},"fecha_final":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Fecha Final"}},"type":"object","title":"UsuarioUpdate"},"UsuarioVista":{"properties":{"codigo":{"type":"string","title":"Codigo"},"nombre":{"type":"string","title":"Nombre"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"}},"type":"object","required":["codigo","nombre"],"title":"UsuarioVista"},"UsuariosPaginadosResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/UsuarioResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"}},"type":"object","required":["items","total","page","limit"],"title":"UsuariosPaginadosResponse"},"ValidarCuotasRequest":{"properties":{"abrir_soporte":{"type":"boolean","title":"Abrir Soporte","default":true},"codigo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso"}},"type":"object","title":"ValidarCuotasRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VigilarEstacionesRequest":{"properties":{"abrir_soporte":{"type":"boolean","title":"Abrir Soporte","default":true},"avisar_correo":{"type":"boolean","title":"Avisar Correo","default":true},"codigo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso"}},"type":"object","title":"VigilarEstacionesRequest"},"VisibleHierarchyItem":{"properties":{"code":{"type":"string","title":"Code"},"name":{"type":"string","title":"Name"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"parent_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Code"},"depth":{"type":"integer","title":"Depth"},"entity_code":{"type":"string","title":"Entity Code"}},"type":"object","required":["code","name","depth","entity_code"],"title":"VisibleHierarchyItem"},"VisibleHierarchyResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/VisibleHierarchyItem"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["items"],"title":"VisibleHierarchyResponse"},"_AppAsignar":{"properties":{"codigo_aplicacion":{"type":"string","title":"Codigo Aplicacion"}},"type":"object","required":["codigo_aplicacion"],"title":"_AppAsignar"},"_RolAsignar":{"properties":{"id_rol":{"type":"integer","title":"Id Rol"}},"type":"object","required":["id_rol"],"title":"_RolAsignar"},"app__routers__operaciones__RevisarFuentesWebRequest":{"properties":{"codigo_proceso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Proceso"},"codigo_grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Grupo"},"codigo_entidad":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Entidad"},"codigo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"},"incluir_descendientes":{"type":"boolean","title":"Incluir Descendientes","default":false}},"type":"object","title":"RevisarFuentesWebRequest"},"app__routers__procesos_datos_basicos__FuncionAsignar":{"properties":{"codigo_funcion":{"type":"string","title":"Codigo Funcion"}},"type":"object","required":["codigo_funcion"],"title":"FuncionAsignar"},"app__schemas__roles__FuncionAsignar":{"properties":{"codigo_funcion":{"type":"string","title":"Codigo Funcion"},"orden":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Orden"}},"type":"object","required":["codigo_funcion"],"title":"FuncionAsignar"},"app__schemas__ubicaciones_docs__RevisarFuentesWebRequest":{"properties":{"codigo_ubicacion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Codigo Ubicacion"},"incluir_descendientes":{"type":"boolean","title":"Incluir Descendientes","default":false}},"type":"object","title":"RevisarFuentesWebRequest"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}}