{"openapi":"3.1.0","info":{"title":"Nixttel API","version":"1.0.0","description":"Catálogo de integración de la plataforma de gestión operacional Nixttel.","contact":{"name":"Nixttel","email":"contacto@nixttel.com","url":"https://nixttel.com"}},"servers":[{"url":"https://api.nixttel.com","description":"Producción"}],"tags":[{"name":"Autenticación","description":"Inicio de sesión, recuperación de contraseña y obtención de tokens."},{"name":"Usuarios y permisos","description":"Cuentas de acceso, invitaciones y grupos de permisos."},{"name":"RR.HH. y personal","description":"Personal, disponibilidad, archivos y procesamiento de firmas."},{"name":"Terceros","description":"Proveedores, clientes, sucursales, contactos, servicios e historiales."},{"name":"Activos","description":"Equipos, catálogos, trazabilidad e importaciones masivas."},{"name":"Inventario","description":"Bodegas, stock, movimientos, compras, salidas y autorizaciones."},{"name":"Mantenimiento","description":"Planes, tareas, recursos, órdenes y tablero operativo."},{"name":"Monitoreo","description":"Medidores, lecturas, activadores y datos de consulta."},{"name":"Presupuestos y cotizaciones","description":"Cotizaciones, presupuestos e historial operacional de tareas."},{"name":"Nube","description":"Carpetas y documentos almacenados en la Nube de la empresa."},{"name":"Configuración","description":"Empresa, catálogos, campos personalizados e integraciones."},{"name":"Indicadores y auditoría","description":"KPIs operacionales del dashboard y el log de auditoría de la empresa."},{"name":"Adjuntos","description":"Subida y descarga de archivos compartida por los demás módulos."}],"paths":{"/oauth/token":{"post":{"tags":["Autenticación"],"summary":"Solicitar token de integración","description":"Intercambia client_id y client_secret por un access_token de corta duración (grant_type=client_credentials). Es el punto de entrada para cualquier integración OAuth.","operationId":"post_oauth_token","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"access_token":"eyJhbGciOi...","token_type":"Bearer","expires_in":3600}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Credenciales OAuth","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"grant_type":"client_credentials","client_id":"nxt_client_id","client_secret":"nxt_client_secret"}}}}}},"/api/auth/tenant-by-email":{"post":{"tags":["Autenticación"],"summary":"Buscar empresa por correo","description":"Resuelve la empresa (tenant) asociada a un correo antes de iniciar sesión. Usado por la pantalla de login cuando el dominio no identifica la empresa.","operationId":"post_api_auth_tenant_by_email","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"found":true,"tenant":{"id":"uuid","slug":"empresa"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Pública","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"email":"usuario@empresa.cl"}}}}}},"/api/login":{"post":{"tags":["Autenticación"],"summary":"Iniciar sesión","description":"Autentica con correo y contraseña dentro de una empresa (tenant) y devuelve un token de sesión Bearer.","operationId":"post_api_login","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"token":"eyJhbGciOi...","user":{"id":"uuid","email":"usuario@empresa.cl","role":"viewer"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Pública","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"email":"usuario@empresa.cl","password":"********"}}}}}},"/api/auth/me":{"get":{"tags":["Autenticación"],"summary":"Consultar sesión actual","description":"Devuelve el usuario autenticado según el token Bearer enviado.","operationId":"get_api_auth_me","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/forgot-password":{"post":{"tags":["Autenticación"],"summary":"Solicitar recuperación de contraseña","description":"Genera un token de recuperación y dispara el correo de restablecimiento si la cuenta existe.","operationId":"post_api_forgot_password","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Pública","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"email":"usuario@empresa.cl"}}}}}},"/api/reset-password":{"post":{"tags":["Autenticación"],"summary":"Restablecer contraseña con token","description":"Establece una nueva contraseña usando el token recibido por correo tras /api/forgot-password.","operationId":"post_api_reset_password","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Pública","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"token":"token-de-recuperacion","password":"NuevaClaveSegura"}}}}}},"/api/change-password":{"post":{"tags":["Autenticación"],"summary":"Cambiar la propia contraseña","description":"Cambia la contraseña del usuario autenticado; exige la contraseña actual.","operationId":"post_api_change_password","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"currentPassword":"********","newPassword":"NuevaClaveSegura"}}}},"security":[{"bearerAuth":[]}]}},"/api/users":{"get":{"tags":["Usuarios y permisos"],"summary":"Listar usuarios","operationId":"get_api_users","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Usuarios y permisos"],"summary":"Crear e invitar usuario","operationId":"post_api_users","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"personalId":"uuid-personal","role":"viewer","permissionGroupId":"uuid-grupo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/users/{id}":{"patch":{"tags":["Usuarios y permisos"],"summary":"Actualizar usuario","operationId":"patch_api_users_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"name":"Registro de ejemplo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/users/delete":{"post":{"tags":["Usuarios y permisos"],"summary":"Eliminar usuarios","operationId":"post_api_users_delete","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ids":["uuid-usuario"]}}}},"security":[{"bearerAuth":[]}]}},"/api/users/resend-invite":{"post":{"tags":["Usuarios y permisos"],"summary":"Reenviar invitación","operationId":"post_api_users_resend_invite","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"id":"uuid-usuario"}}}},"security":[{"bearerAuth":[]}]}},"/api/permission-groups":{"get":{"tags":["Usuarios y permisos"],"summary":"Listar grupos de permisos","operationId":"get_api_permission_groups","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Usuarios y permisos"],"summary":"Crear grupo de permisos","operationId":"post_api_permission_groups","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"name":"Registro de ejemplo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/permission-groups/{id}":{"patch":{"tags":["Usuarios y permisos"],"summary":"Actualizar grupo de permisos","operationId":"patch_api_permission_groups_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"name":"Registro de ejemplo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/permission-groups/delete":{"post":{"tags":["Usuarios y permisos"],"summary":"Eliminar grupos de permisos","operationId":"post_api_permission_groups_delete","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"name":"Registro de ejemplo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/personal":{"get":{"tags":["RR.HH. y personal"],"summary":"Listar personal","operationId":"get_api_personal","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["RR.HH. y personal"],"summary":"Crear personal","operationId":"post_api_personal","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"PER-001","firstName":"Camila","lastName":"Pérez","email":"camila@empresa.cl","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/personal/available-for-user":{"get":{"tags":["RR.HH. y personal"],"summary":"Listar personal disponible para usuario","operationId":"get_api_personal_available_for_user","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/personal/{id}/files":{"get":{"tags":["RR.HH. y personal"],"summary":"Listar archivos del personal","operationId":"get_api_personal_id_files","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["RR.HH. y personal"],"summary":"Agregar archivo al personal","operationId":"post_api_personal_id_files","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"PER-001","name":"Registro de personal","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/personal/{id}/role-shifts":{"patch":{"tags":["RR.HH. y personal"],"summary":"Actualizar cargos y turnos del personal","operationId":"patch_api_personal_id_role_shifts","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"PER-001","name":"Registro de personal","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/personal/{id}":{"patch":{"tags":["RR.HH. y personal"],"summary":"Actualizar personal","operationId":"patch_api_personal_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"PER-001","name":"Registro de personal","enabled":true}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["RR.HH. y personal"],"summary":"Eliminar personal","operationId":"delete_api_personal_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/personal/delete":{"post":{"tags":["RR.HH. y personal"],"summary":"Eliminar personal en lote","operationId":"post_api_personal_delete","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ids":["uuid-personal"]}}}},"security":[{"bearerAuth":[]}]}},"/api/images/signature/process":{"post":{"tags":["RR.HH. y personal"],"summary":"Procesar imagen de firma","operationId":"post_api_images_signature_process","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"PER-001","name":"Registro de personal","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/externals":{"get":{"tags":["Terceros"],"summary":"Listar terceros","operationId":"get_api_externals","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Terceros"],"summary":"Crear tercero","operationId":"post_api_externals","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"EXT-001","name":"Proveedor Demo","supplier":true,"country":"Chile"}}}},"security":[{"bearerAuth":[]}]}},"/api/externals/{id}/history":{"get":{"tags":["Terceros"],"summary":"Consultar historial del tercero","operationId":"get_api_externals_id_history","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/externals/{id}":{"patch":{"tags":["Terceros"],"summary":"Actualizar tercero","operationId":"patch_api_externals_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"EXT-001","name":"Tercero Demo","enabled":true}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Terceros"],"summary":"Eliminar tercero","operationId":"delete_api_externals_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/externals/delete-bulk":{"post":{"tags":["Terceros"],"summary":"Eliminar terceros en lote","operationId":"post_api_externals_delete_bulk","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ids":["uuid-tercero"]}}}},"security":[{"bearerAuth":[]}]}},"/api/equip":{"get":{"tags":["Activos"],"summary":"Consultar tabla de activos con filtros","description":"Consulta todos los activos de la empresa sin indicar un ID. Sin filtros ni limit devuelve la tabla completa (excluye eliminados). Los filtros se combinan con AND y comparan valores completos sin distinguir mayúsculas; search busca texto parcial. Tipos: 1=Localizaciones, 2=Equipos, 3=Herramientas, 4=Repuestos, 5=Digitales. Ejemplo: /api/equip?item_type_id=2&cost_center=Taller&classification_1=Mecanico&limit=500&offset=0. Para recorrer toda la tabla paginada, incremente offset por pagination.limit hasta alcanzar pagination.total. Use los mismos filtros y sort en todas las páginas.","operationId":"get_api_equip","parameters":[{"name":"item_type_id","in":"query","required":false,"description":"1=Localizaciones; 2=Equipos; 3=Herramientas; 4=Repuestos; 5=Digitales. Omitir para consultar todos los tipos.","schema":{"type":"integer"}},{"name":"search","in":"query","required":false,"description":"Búsqueda parcial por código, descripción y datos del activo.","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"created_desc (predeterminado), code_asc, code_desc, description_asc o description_desc.","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Opcional: registros por página, máximo 500. Omitir para obtener toda la tabla filtrada.","schema":{"type":"integer"}},{"name":"offset","in":"query","required":false,"description":"Registros a omitir, desde 0. Se aplica cuando se envía limit.","schema":{"type":"integer"}},{"name":"code","in":"query","required":false,"description":"Codigo exacto del activo.","schema":{"type":"string"}},{"name":"description","in":"query","required":false,"description":"Descripcion exacta del activo; use search para buscar texto parcial.","schema":{"type":"string"}},{"name":"cost_center","in":"query","required":false,"description":"Nombre del centro de costo.","schema":{"type":"string"}},{"name":"count_1","in":"query","required":false,"description":"Nombre de la cuenta 1 del catalogo financiero.","schema":{"type":"string"}},{"name":"count_2","in":"query","required":false,"description":"Nombre de la cuenta 2 del catalogo financiero.","schema":{"type":"string"}},{"name":"classification_1","in":"query","required":false,"description":"Nombre de la clasificacion 1. Tambien acepta clasification_1.","schema":{"type":"string"}},{"name":"classification_2","in":"query","required":false,"description":"Nombre de la clasificacion 2. Tambien acepta clasification_2.","schema":{"type":"string"}},{"name":"model","in":"query","required":false,"description":"Modelo del activo.","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"Nombre del tipo en el catalogo del activo.","schema":{"type":"string"}},{"name":"location_code","in":"query","required":false,"description":"Codigo de la localizacion padre.","schema":{"type":"string"}},{"name":"serial","in":"query","required":false,"description":"Numero de serie.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"550e8400-e29b-41d4-a716-446655440000","code":"EQ-001","description":"Equipo de ejemplo","active":true,"item_type_id":2,"model":"Modelo A","financialReference1":"Cuenta A","financialReference2":"Cuenta B","costs_center_description":"Taller","groups_1_description":"Mecanico","groups_2_description":"Servicio interno"}],"pagination":{"limit":500,"offset":0,"total":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer u OAuth","security":[{"bearerAuth":[]}]},"post":{"tags":["Activos"],"summary":"Crear activo","operationId":"post_api_equip","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"ACT-001","name":"Activo Demo","serial":"SER-001","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/v1/equipment":{"get":{"tags":["Activos"],"summary":"Consultar tabla de activos para integración","description":"Consulta todos los activos de la empresa sin indicar un ID. Sin filtros ni limit devuelve la tabla completa (excluye eliminados). Los filtros se combinan con AND y comparan valores completos sin distinguir mayúsculas; search busca texto parcial. Tipos: 1=Localizaciones, 2=Equipos, 3=Herramientas, 4=Repuestos, 5=Digitales. Ejemplo: /api/equip?item_type_id=2&cost_center=Taller&classification_1=Mecanico&limit=500&offset=0. Para recorrer toda la tabla paginada, incremente offset por pagination.limit hasta alcanzar pagination.total. Use los mismos filtros y sort en todas las páginas.","operationId":"get_api_v1_equipment","parameters":[{"name":"item_type_id","in":"query","required":false,"description":"1=Localizaciones; 2=Equipos; 3=Herramientas; 4=Repuestos; 5=Digitales. Omitir para consultar todos los tipos.","schema":{"type":"integer"}},{"name":"search","in":"query","required":false,"description":"Búsqueda parcial por código, descripción y datos del activo.","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"created_desc (predeterminado), code_asc, code_desc, description_asc o description_desc.","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Opcional: registros por página, máximo 500. Omitir para obtener toda la tabla filtrada.","schema":{"type":"integer"}},{"name":"offset","in":"query","required":false,"description":"Registros a omitir, desde 0. Se aplica cuando se envía limit.","schema":{"type":"integer"}},{"name":"code","in":"query","required":false,"description":"Codigo exacto del activo.","schema":{"type":"string"}},{"name":"description","in":"query","required":false,"description":"Descripcion exacta del activo; use search para buscar texto parcial.","schema":{"type":"string"}},{"name":"cost_center","in":"query","required":false,"description":"Nombre del centro de costo.","schema":{"type":"string"}},{"name":"count_1","in":"query","required":false,"description":"Nombre de la cuenta 1 del catalogo financiero.","schema":{"type":"string"}},{"name":"count_2","in":"query","required":false,"description":"Nombre de la cuenta 2 del catalogo financiero.","schema":{"type":"string"}},{"name":"classification_1","in":"query","required":false,"description":"Nombre de la clasificacion 1. Tambien acepta clasification_1.","schema":{"type":"string"}},{"name":"classification_2","in":"query","required":false,"description":"Nombre de la clasificacion 2. Tambien acepta clasification_2.","schema":{"type":"string"}},{"name":"model","in":"query","required":false,"description":"Modelo del activo.","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"Nombre del tipo en el catalogo del activo.","schema":{"type":"string"}},{"name":"location_code","in":"query","required":false,"description":"Codigo de la localizacion padre.","schema":{"type":"string"}},{"name":"serial","in":"query","required":false,"description":"Numero de serie.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":1001,"code":"EQ-001","description":"Equipo de ejemplo","active":true,"id_type_item":2,"items_types_description":"Modelo A","count_1":"Cuenta A","count_2":"Cuenta B","costs_center_description":"Taller","groups_1_description":"Mecanico","groups_2_description":"Servicio interno"}],"pagination":{"limit":500,"offset":0,"total":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer u OAuth","security":[{"bearerAuth":[]}]}},"/api/equip/{id}":{"patch":{"tags":["Activos"],"summary":"Actualizar activo","operationId":"patch_api_equip_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"ACT-001","name":"Activo Demo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/equip/delete-bulk":{"post":{"tags":["Activos"],"summary":"Eliminar activos en lote","operationId":"post_api_equip_delete_bulk","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ids":["uuid-activo"]}}}},"security":[{"bearerAuth":[]}]}},"/api/equip/{id}/location-history":{"get":{"tags":["Activos"],"summary":"Historial de localización","operationId":"get_api_equip_id_location_history","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/equip/{id}/tool-asset-history":{"get":{"tags":["Activos"],"summary":"Historial de herramientas","operationId":"get_api_equip_id_tool_asset_history","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/equip/{id}/resource-history":{"get":{"tags":["Activos"],"summary":"Historial de recursos","operationId":"get_api_equip_id_resource_history","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/equip/{id}/task-history":{"get":{"tags":["Activos"],"summary":"Historial de tareas","operationId":"get_api_equip_id_task_history","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/equip/{id}/availability-history":{"get":{"tags":["Activos"],"summary":"Historial de disponibilidad","operationId":"get_api_equip_id_availability_history","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/equip/{id}/reading-history":{"get":{"tags":["Activos"],"summary":"Historial de lecturas","operationId":"get_api_equip_id_reading_history","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/asset-catalogs":{"get":{"tags":["Activos"],"summary":"Listar catálogos de activos","operationId":"get_api_asset_catalogs","parameters":[{"name":"catalog_key","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Activos"],"summary":"Crear entrada de catálogo","operationId":"post_api_asset_catalogs","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"ACT-001","name":"Activo Demo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/asset-catalogs/{id}":{"patch":{"tags":["Activos"],"summary":"Actualizar entrada de catálogo","operationId":"patch_api_asset_catalogs_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"ACT-001","name":"Activo Demo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/asset-catalogs/delete-bulk":{"post":{"tags":["Activos"],"summary":"Eliminar entradas de catálogo","operationId":"post_api_asset_catalogs_delete_bulk","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"ACT-001","name":"Activo Demo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/equip/import-batches/latest":{"get":{"tags":["Activos"],"summary":"Consultar última importación","operationId":"get_api_equip_import_batches_latest","parameters":[{"name":"item_type_id","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"integer"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/equip/import-batches":{"post":{"tags":["Activos"],"summary":"Crear lote de importación","operationId":"post_api_equip_import_batches","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"ACT-001","name":"Activo Demo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/equip/import-batches/{id}":{"patch":{"tags":["Activos"],"summary":"Actualizar lote de importación","operationId":"patch_api_equip_import_batches_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"ACT-001","name":"Activo Demo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/equip/import-batches/{id}/complete":{"post":{"tags":["Activos"],"summary":"Completar importación","operationId":"post_api_equip_import_batches_id_complete","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"ACT-001","name":"Activo Demo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/equip/export-email":{"post":{"tags":["Activos"],"summary":"Enviar exportación de activos por correo","operationId":"post_api_equip_export_email","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"ACT-001","name":"Activo Demo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/warehouses":{"get":{"tags":["Inventario"],"summary":"Listar bodegas","operationId":"get_api_inventory_warehouses","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Inventario"],"summary":"Crear bodega","operationId":"post_api_inventory_warehouses","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"INV-001","description":"Movimiento de inventario","quantity":1}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/warehouses/{id}":{"patch":{"tags":["Inventario"],"summary":"Actualizar bodega","operationId":"patch_api_inventory_warehouses_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"INV-001","description":"Movimiento de inventario","quantity":1}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/warehouses/delete-bulk":{"post":{"tags":["Inventario"],"summary":"Eliminar bodegas","operationId":"post_api_inventory_warehouses_delete_bulk","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"INV-001","description":"Movimiento de inventario","quantity":1}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/movement-types":{"get":{"tags":["Inventario"],"summary":"Listar tipos de movimiento","operationId":"get_api_inventory_movement_types","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/inventory/movements":{"get":{"tags":["Inventario"],"summary":"Consultar movimientos","operationId":"get_api_inventory_movements","parameters":[{"name":"warehouse_id","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"id_movement_type","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"code","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"date_from","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"date_to","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"search","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"integer"}},{"name":"offset","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"integer"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/inventory/warehouses/{warehouseId}/stock":{"get":{"tags":["Inventario"],"summary":"Consultar stock de bodega","operationId":"get_api_inventory_warehouses_warehouseId_stock","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Inventario"],"summary":"Crear ítem de stock","operationId":"post_api_inventory_warehouses_warehouseId_stock","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"INV-001","description":"Movimiento de inventario","quantity":1}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/warehouses/{warehouseId}/stock/{id}":{"patch":{"tags":["Inventario"],"summary":"Actualizar ítem de stock","operationId":"patch_api_inventory_warehouses_warehouseId_stock_id","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}},{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"INV-001","description":"Movimiento de inventario","quantity":1}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/warehouses/{warehouseId}/purchase-orders":{"get":{"tags":["Inventario"],"summary":"Listar órdenes de compra","operationId":"get_api_inventory_warehouses_warehouseId_purchase_orders","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Inventario"],"summary":"Crear orden de compra","operationId":"post_api_inventory_warehouses_warehouseId_purchase_orders","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"INV-001","description":"Movimiento de inventario","quantity":1}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/warehouses/{warehouseId}/purchase-orders/{id}":{"patch":{"tags":["Inventario"],"summary":"Actualizar orden de compra","operationId":"patch_api_inventory_warehouses_warehouseId_purchase_orders_id","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}},{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"INV-001","description":"Movimiento de inventario","quantity":1}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/warehouses/{warehouseId}/entries":{"get":{"tags":["Inventario"],"summary":"Listar entradas","operationId":"get_api_inventory_warehouses_warehouseId_entries","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Inventario"],"summary":"Crear entrada","operationId":"post_api_inventory_warehouses_warehouseId_entries","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"INV-001","description":"Movimiento de inventario","quantity":1}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/warehouses/{warehouseId}/entries/{id}":{"patch":{"tags":["Inventario"],"summary":"Actualizar entrada","operationId":"patch_api_inventory_warehouses_warehouseId_entries_id","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}},{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"INV-001","description":"Movimiento de inventario","quantity":1}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/warehouses/{warehouseId}/outputs":{"get":{"tags":["Inventario"],"summary":"Listar salidas","operationId":"get_api_inventory_warehouses_warehouseId_outputs","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Inventario"],"summary":"Crear salida","operationId":"post_api_inventory_warehouses_warehouseId_outputs","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"INV-001","description":"Movimiento de inventario","quantity":1}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/warehouses/{warehouseId}/outputs/{id}":{"patch":{"tags":["Inventario"],"summary":"Actualizar salida","operationId":"patch_api_inventory_warehouses_warehouseId_outputs_id","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}},{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"INV-001","description":"Movimiento de inventario","quantity":1}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/warehouses/{warehouseId}/spare-requests":{"get":{"tags":["Inventario"],"summary":"Listar solicitudes de repuesto","operationId":"get_api_inventory_warehouses_warehouseId_spare_requests","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Inventario"],"summary":"Crear solicitud de repuesto","operationId":"post_api_inventory_warehouses_warehouseId_spare_requests","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"INV-001","description":"Movimiento de inventario","quantity":1}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/warehouses/{warehouseId}/authorizations":{"get":{"tags":["Inventario"],"summary":"Listar autorizaciones","operationId":"get_api_inventory_warehouses_warehouseId_authorizations","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Inventario"],"summary":"Crear autorización","operationId":"post_api_inventory_warehouses_warehouseId_authorizations","parameters":[{"name":"warehouseId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"INV-001","description":"Movimiento de inventario","quantity":1}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/authorize-work-order-resources":{"post":{"tags":["Inventario"],"summary":"Autorizar recursos de orden de trabajo","operationId":"post_api_inventory_authorize_work_order_resources","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"workOrderFolio":"OT-0001","resourceIds":["uuid-recurso"]}}}},"security":[{"bearerAuth":[]}]}},"/api/task-plans":{"get":{"tags":["Mantenimiento"],"summary":"Listar planes de mantenimiento","operationId":"get_api_task_plans","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Mantenimiento"],"summary":"Crear plan de mantenimiento","operationId":"post_api_task_plans","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"PLAN-001","description":"Plan preventivo","enabled":true,"tasks":[]}}}},"security":[{"bearerAuth":[]}]}},"/api/task-plans/{id}":{"patch":{"tags":["Mantenimiento"],"summary":"Actualizar plan de mantenimiento","operationId":"patch_api_task_plans_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"MNT-001","description":"Operación de mantenimiento","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/task-plans/delete-bulk":{"post":{"tags":["Mantenimiento"],"summary":"Eliminar planes","operationId":"post_api_task_plans_delete_bulk","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ids":["uuid-plan"]}}}},"security":[{"bearerAuth":[]}]}},"/api/task-kanban":{"get":{"tags":["Mantenimiento"],"summary":"Consultar tablero Kanban","operationId":"get_api_task_kanban","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/tasks/resources":{"get":{"tags":["Mantenimiento"],"summary":"Consultar recursos de tareas","operationId":"get_api_tasks_resources","parameters":[{"name":"task_id","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"code","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"cost_center","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"date_from","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"date_to","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"search","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"integer"}},{"name":"offset","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"integer"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/tasks/{taskId}/resources":{"get":{"tags":["Mantenimiento"],"summary":"Consultar recursos de una tarea","operationId":"get_api_tasks_taskId_resources","parameters":[{"name":"taskId","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/work-orders/{folio}/resources":{"get":{"tags":["Mantenimiento"],"summary":"Consultar recursos de una orden","operationId":"get_api_work_orders_folio_resources","parameters":[{"name":"folio","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/task-operations/{collection}":{"get":{"tags":["Mantenimiento"],"summary":"Listar operaciones de tareas","operationId":"get_api_task_operations_collection","parameters":[{"name":"collection","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Mantenimiento"],"summary":"Crear operación de tarea","operationId":"post_api_task_operations_collection","parameters":[{"name":"collection","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"MNT-001","description":"Operación de mantenimiento","enabled":true}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Mantenimiento"],"summary":"Reemplazar operaciones de tarea","operationId":"put_api_task_operations_collection","parameters":[{"name":"collection","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"MNT-001","description":"Operación de mantenimiento","enabled":true}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Mantenimiento"],"summary":"Eliminar operaciones de tarea","operationId":"delete_api_task_operations_collection","parameters":[{"name":"collection","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/task-history":{"get":{"tags":["Mantenimiento"],"summary":"Consultar historial de tareas","operationId":"get_api_task_history","parameters":[{"name":"sync","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Mantenimiento"],"summary":"Registrar historial de tarea","operationId":"post_api_task_history","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"MNT-001","description":"Operación de mantenimiento","enabled":true}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Mantenimiento"],"summary":"Eliminar historial de tarea","operationId":"delete_api_task_history","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/inventory/resource-requests":{"get":{"tags":["Mantenimiento"],"summary":"Listar solicitudes de repuesto de todas las bodegas","description":"Misma tabla que /api/inventory/warehouses/{warehouseId}/spare-requests, pero sin filtrar por bodega: útil para ver todas las solicitudes pendientes de la empresa en una sola consulta.","operationId":"get_api_inventory_resource_requests","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Mantenimiento"],"summary":"Crear solicitud de repuesto indicando la bodega en el body","operationId":"post_api_inventory_resource_requests","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"MNT-001","description":"Operación de mantenimiento","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/resource-requests/{id}":{"patch":{"tags":["Mantenimiento"],"summary":"Actualizar solicitud de repuesto","operationId":"patch_api_inventory_resource_requests_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"MNT-001","description":"Operación de mantenimiento","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/inventory/work-order-output-preview":{"post":{"tags":["Mantenimiento"],"summary":"Previsualizar salida de bodega para una orden de trabajo","description":"Calcula el detalle de salida de inventario que generaría una orden de trabajo antes de confirmarla.","operationId":"post_api_inventory_work_order_output_preview","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"MNT-001","description":"Operación de mantenimiento","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/monitoring":{"get":{"tags":["Monitoreo"],"summary":"Listar puntos de monitoreo","operationId":"get_api_monitoring","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Monitoreo"],"summary":"Crear punto de monitoreo","operationId":"post_api_monitoring","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"MON-001","description":"Punto de monitoreo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/monitoring/{id}":{"patch":{"tags":["Monitoreo"],"summary":"Actualizar punto de monitoreo","operationId":"patch_api_monitoring_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"MON-001","description":"Punto de monitoreo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/monitoring/delete-bulk":{"post":{"tags":["Monitoreo"],"summary":"Eliminar puntos de monitoreo","operationId":"post_api_monitoring_delete_bulk","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"MON-001","description":"Punto de monitoreo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/monitoring/consulting":{"get":{"tags":["Monitoreo"],"summary":"Consultar datos de monitoreo","operationId":"get_api_monitoring_consulting","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/monitoring/consulting/{id}":{"patch":{"tags":["Monitoreo"],"summary":"Actualizar dato de consulta","operationId":"patch_api_monitoring_consulting_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"MON-001","description":"Punto de monitoreo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/monitoring/readings":{"get":{"tags":["Monitoreo"],"summary":"Listar lecturas","operationId":"get_api_monitoring_readings","parameters":[{"name":"meter","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"serial","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"code","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"sourceId","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Monitoreo"],"summary":"Registrar lectura","operationId":"post_api_monitoring_readings","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"assetId":"uuid-activo","meter":"Horómetro","value":1250,"readAt":"2026-08-01T12:00:00Z"}}}},"security":[{"bearerAuth":[]}]}},"/api/monitoring/readings/delete-latest":{"post":{"tags":["Monitoreo"],"summary":"Eliminar última lectura","operationId":"post_api_monitoring_readings_delete_latest","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"MON-001","description":"Punto de monitoreo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/monitoring/activators/due/process":{"post":{"tags":["Monitoreo"],"summary":"Procesar activadores vencidos","operationId":"post_api_monitoring_activators_due_process","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"MON-001","description":"Punto de monitoreo","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/task-quotations":{"get":{"tags":["Presupuestos y cotizaciones"],"summary":"Listar cotizaciones","operationId":"get_api_task_quotations","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Presupuestos y cotizaciones"],"summary":"Crear cotización","operationId":"post_api_task_quotations","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"COT-001","description":"Documento comercial","amount":0}}}},"security":[{"bearerAuth":[]}]},"put":{"tags":["Presupuestos y cotizaciones"],"summary":"Reemplazar cotizaciones","operationId":"put_api_task_quotations","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"COT-001","description":"Documento comercial","amount":0}}}},"security":[{"bearerAuth":[]}]},"delete":{"tags":["Presupuestos y cotizaciones"],"summary":"Eliminar cotizaciones","operationId":"delete_api_task_quotations","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/task-budgets":{"get":{"tags":["Presupuestos y cotizaciones"],"summary":"Listar presupuestos","operationId":"get_api_task_budgets","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Presupuestos y cotizaciones"],"summary":"Crear presupuesto","operationId":"post_api_task_budgets","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"COT-001","description":"Documento comercial","amount":0}}}},"security":[{"bearerAuth":[]}]}},"/api/task-budgets/{id}/history":{"get":{"tags":["Presupuestos y cotizaciones"],"summary":"Consultar historial de un presupuesto","operationId":"get_api_task_budgets_id_history","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/task-budgets/{id}/restrictions":{"patch":{"tags":["Presupuestos y cotizaciones"],"summary":"Configurar restricciones de un presupuesto","operationId":"patch_api_task_budgets_id_restrictions","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"COT-001","description":"Documento comercial","amount":0}}}},"security":[{"bearerAuth":[]}]}},"/api/task-budget-approvers":{"get":{"tags":["Presupuestos y cotizaciones"],"summary":"Listar aprobadores de presupuesto","operationId":"get_api_task_budget_approvers","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/task-resource-budget-check":{"post":{"tags":["Presupuestos y cotizaciones"],"summary":"Verificar presupuesto antes de guardar recursos","description":"Valida si los recursos de una tarea u orden de trabajo exceden el presupuesto disponible antes de guardarlos; puede requerir aprobación (código BUDGET_APPROVAL_REQUIRED).","operationId":"post_api_task_resource_budget_check","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"COT-001","description":"Documento comercial","amount":0}}}},"security":[{"bearerAuth":[]}]}},"/api/cloud/items":{"get":{"tags":["Nube"],"summary":"Listar carpetas y documentos","operationId":"get_api_cloud_items","parameters":[{"name":"search","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"parent_id","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/cloud/folders":{"post":{"tags":["Nube"],"summary":"Crear carpeta","operationId":"post_api_cloud_folders","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"name":"Documento","parentId":null}}}},"security":[{"bearerAuth":[]}]}},"/api/cloud/documents":{"post":{"tags":["Nube"],"summary":"Cargar documento","operationId":"post_api_cloud_documents","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"name":"Documento","parentId":null}}}},"security":[{"bearerAuth":[]}]}},"/api/cloud/documents/content":{"get":{"tags":["Nube"],"summary":"Descargar contenido de un documento","operationId":"get_api_cloud_documents_content","parameters":[{"name":"id","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/config/company-info":{"get":{"tags":["Configuración"],"summary":"Consultar información de empresa","operationId":"get_api_config_company_info","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"put":{"tags":["Configuración"],"summary":"Actualizar información de empresa","operationId":"put_api_config_company_info","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"CFG-001","description":"Configuración","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/config/asset-custom-fields":{"get":{"tags":["Configuración"],"summary":"Listar campos personalizados de activos","operationId":"get_api_config_asset_custom_fields","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"put":{"tags":["Configuración"],"summary":"Guardar campos personalizados de activos","operationId":"put_api_config_asset_custom_fields","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"CFG-001","description":"Configuración","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/config/asset-custom-field-groups":{"get":{"tags":["Configuración"],"summary":"Listar grupos de campos de activos","operationId":"get_api_config_asset_custom_field_groups","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Configuración"],"summary":"Crear grupo de campos de activos","operationId":"post_api_config_asset_custom_field_groups","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"CFG-001","description":"Configuración","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/config/personal-custom-fields":{"get":{"tags":["Configuración"],"summary":"Listar campos personalizados de personal","operationId":"get_api_config_personal_custom_fields","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"put":{"tags":["Configuración"],"summary":"Guardar campos personalizados de personal","operationId":"put_api_config_personal_custom_fields","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"CFG-001","description":"Configuración","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/config/personal-custom-field-groups":{"get":{"tags":["Configuración"],"summary":"Listar grupos de campos de personal","operationId":"get_api_config_personal_custom_field_groups","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Configuración"],"summary":"Crear grupo de campos de personal","operationId":"post_api_config_personal_custom_field_groups","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"CFG-001","description":"Configuración","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/config/external-custom-fields":{"get":{"tags":["Configuración"],"summary":"Listar campos personalizados de terceros","operationId":"get_api_config_external_custom_fields","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"put":{"tags":["Configuración"],"summary":"Guardar campos personalizados de terceros","operationId":"put_api_config_external_custom_fields","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"CFG-001","description":"Configuración","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/config/external-custom-field-groups":{"get":{"tags":["Configuración"],"summary":"Listar grupos de campos de terceros","operationId":"get_api_config_external_custom_field_groups","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Configuración"],"summary":"Crear grupo de campos de terceros","operationId":"post_api_config_external_custom_field_groups","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"CFG-001","description":"Configuración","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/catalogs":{"get":{"tags":["Configuración"],"summary":"Listar entradas de catálogo","operationId":"get_api_catalogs","parameters":[{"name":"catalog_type","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"tab_key","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Configuración"],"summary":"Crear entrada de catálogo","operationId":"post_api_catalogs","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"CFG-001","description":"Configuración","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/catalogs/{id}":{"patch":{"tags":["Configuración"],"summary":"Actualizar entrada de catálogo","operationId":"patch_api_catalogs_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"CFG-001","description":"Configuración","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/catalogs/delete-bulk":{"post":{"tags":["Configuración"],"summary":"Eliminar entradas de catálogo","operationId":"post_api_catalogs_delete_bulk","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"deleted":1}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ids":["uuid-catalogo"]}}}},"security":[{"bearerAuth":[]}]}},"/api/integrations":{"get":{"tags":["Configuración"],"summary":"Listar integraciones","operationId":"get_api_integrations","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Configuración"],"summary":"Guardar integración","operationId":"post_api_integrations","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"CFG-001","description":"Configuración","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/oauth/clients":{"get":{"tags":["Configuración"],"summary":"Listar clientes OAuth","description":"Clientes OAuth (integraciones) registrados en la empresa. No incluye el client_secret; use el endpoint de credenciales para recuperarlo.","operationId":"get_api_oauth_clients","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]},"post":{"tags":["Configuración"],"summary":"Crear cliente OAuth","description":"Genera un client_id y client_secret nuevos. Es el paso 01 del inicio rápido de este catálogo: el client_secret solo se muestra completo en esta respuesta.","operationId":"post_api_oauth_clients","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"CFG-001","description":"Configuración","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/oauth/clients/{id}":{"patch":{"tags":["Configuración"],"summary":"Actualizar cliente OAuth","description":"Actualiza nombre, descripción, grupo de permisos, vigencia del token o si el cliente está activo. No cambia el client_secret.","operationId":"patch_api_oauth_clients_id","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"CFG-001","description":"Configuración","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/oauth/clients/{id}/credentials":{"get":{"tags":["Configuración"],"summary":"Consultar credenciales de un cliente OAuth","description":"Devuelve el client_id y, si está disponible, el client_secret en claro (se guarda cifrado).","operationId":"get_api_oauth_clients_id_credentials","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/oauth/clients/{id}/rotate-secret":{"post":{"tags":["Configuración"],"summary":"Rotar el client_secret de un cliente OAuth","description":"Genera un client_secret nuevo e invalida el anterior de inmediato.","operationId":"post_api_oauth_clients_id_rotate_secret","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"CFG-001","description":"Configuración","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/oauth/authorizations":{"get":{"tags":["Configuración"],"summary":"Listar tokens OAuth activos","description":"Tokens de acceso emitidos vigentes, por cliente OAuth.","operationId":"get_api_oauth_authorizations","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/oauth/authorizations/{id}/revoke":{"post":{"tags":["Configuración"],"summary":"Revocar un token OAuth activo","operationId":"post_api_oauth_authorizations_id_revoke","parameters":[{"name":"id","in":"path","required":true,"description":"Identificador dentro de la ruta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"code":"CFG-001","description":"Configuración","enabled":true}}}},"security":[{"bearerAuth":[]}]}},"/api/home/indicators":{"get":{"tags":["Indicadores y auditoría"],"summary":"Consultar indicadores del panel principal","description":"KPIs generales mostrados en el inicio: filtra por rango de fechas, centro de costo y ubicación.","operationId":"get_api_home_indicators","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/indicators/key":{"get":{"tags":["Indicadores y auditoría"],"summary":"Consultar indicadores clave de mantenimiento","description":"KPIs de mantenimiento (cumplimiento, disponibilidad, etc.) con los mismos filtros que /api/home/indicators.","operationId":"get_api_indicators_key","parameters":[{"name":"from","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"to","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"cost_center","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"location","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/audit-log":{"get":{"tags":["Indicadores y auditoría"],"summary":"Consultar log de auditoría","description":"Historial de acciones de la empresa (quién hizo qué, cuándo y con qué resultado). Requiere rol admin.","operationId":"get_api_audit_log","parameters":[{"name":"module","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"result","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"action","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"user","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"search","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"date_from","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"date_to","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"integer"}},{"name":"offset","in":"query","required":false,"description":"Filtro opcional de consulta.","schema":{"type":"integer"}}],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}},"/api/attachments/presign-upload":{"post":{"tags":["Adjuntos"],"summary":"Solicitar URL prefirmada de subida","description":"Devuelve una URL temporal para subir un archivo directamente al almacenamiento de objetos; el archivo resultante se referencia luego desde personal, terceros, activos u otros módulos.","operationId":"post_api_attachments_presign_upload","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":{"id":"uuid","updatedAt":"2026-08-01T12:00:00Z"}}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"data":{}}}}},"security":[{"bearerAuth":[]}]}},"/api/attachments/download-url":{"get":{"tags":["Adjuntos"],"summary":"Consultar URL de descarga de un adjunto","description":"Resuelve una URL temporal de descarga a partir del proveedor y la clave de objeto de un adjunto ya subido.","operationId":"get_api_attachments_download_url","parameters":[],"responses":{"200":{"description":"Operación exitosa","content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"ok":true,"data":[{"id":"uuid","code":"REG-001"}]}}}},"400":{"description":"Solicitud inválida"},"401":{"description":"No autorizado"},"500":{"description":"Error interno"}},"x-nixttel-auth":"Bearer","security":[{"bearerAuth":[]}]}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"oauth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.nixttel.com/oauth/token","scopes":{}}}}}}}