Skip to content

REST API 参考

PxeLab REST API v1 的完整端点列表与使用约定。

相关文档: 配置文件参考 | Web UI 指南


通用约定

Base URL: http://<host>:8080/api/v1

请求格式: JSON (Content-Type: application/json)

响应格式:

json
{
  "success": true,
  "data": { ... }
}

错误响应:

json
{
  "success": false,
  "error": "错误描述"
}

认证

POST /api/v1/auth/login     # 登录
POST /api/v1/auth/logout    # 登出
GET  /api/v1/auth/session   # 检查会话

会话通过 Cookie 维持。


端点列表

认证

方法端点说明
POST/auth/login登录
POST/auth/logout登出
GET/auth/session检查会话

版本

方法端点说明
GET/version当前版本信息
POST/version/check检查更新
POST/version/download下载更新

审计日志

方法端点说明
GET/audit-logs审计日志列表

主机

方法端点说明
GET/hosts列出主机
POST/hosts创建主机
GET/hosts/{id}获取主机
PUT/hosts/{id}更新主机
DELETE/hosts/{id}删除主机
POST/hosts/{id}/wakeWOL 唤醒
POST/hosts/{id}/powerIPMI 电源控制
GET/hosts/{id}/boot-config预览引导配置
POST/hosts/batch/wake批量 WOL 唤醒

引导配置(Profile)

方法端点说明
GET/profiles列出 Profile
POST/profiles创建 Profile
GET/profiles/{id}获取 Profile
PUT/profiles/{id}更新 Profile
DELETE/profiles/{id}删除 Profile
POST/profiles/from-netboot从 Netboot 创建
GET/profiles/{profileId}/script-versions脚本版本列表
GET/profiles/{profileId}/script-versions/{verId}获取单个脚本版本
GET/profiles/{profileId}/script-diff/{verId}版本差异
POST/profiles/{profileId}/script-rollback/{verId}版本回滚

文件管理

方法端点说明
GET/files列出文件
GET/files/root获取根目录
POST/files/upload上传文件
DELETE/files删除文件

租约

方法端点说明
GET/leases列出租约
GET/leases/stats租约统计
DELETE/leases/{mac}删除租约
POST/leases/batch-delete批量删除
POST/leases/prune清理过期租约

设置

方法端点说明
GET/settings完整设置(向后兼容)
PUT/settings更新完整设置
GET/settings/general通用设置
PUT/settings/general更新通用设置
GET/settings/interfaces接口配置
PUT/settings/interfaces更新接口配置
GET/settings/netbootNetboot 设置
PUT/settings/netboot更新 Netboot 设置
GET/settings/logging日志设置
PUT/settings/logging更新日志设置
GET/netboot/cache-statsNetboot 缓存统计

服务

方法端点说明
GET/services/tftpTFTP 设置
PUT/services/tftp更新 TFTP
GET/services/dhcpDHCP 设置
PUT/services/dhcp更新 DHCP
GET/services/dnsDNS 设置
PUT/services/dns更新 DNS
GET/services/nfsNFS 设置
PUT/services/nfs更新 NFS
POST/services/nfs/validate-path校验 NFS 路径
GET/services/nfs/browse-path浏览 NFS 路径
GET/services/archmap架构映射
PUT/services/archmap更新架构映射
GET/services/archmap/defaults默认架构映射
GET/services/ipxe-scriptiPXE 脚本
PUT/services/ipxe-script更新 iPXE 脚本

服务生命周期

方法端点说明
GET/services列出所有服务
POST/services/{name}/start启动服务
POST/services/{name}/stop停止服务
POST/services/{name}/restart重启服务
POST/services/batch/{action}批量操作
PUT/services/{name}/auto-start设置自动启动

Netboot

方法端点说明
GET/netboot/catalogOS 目录
GET/netboot/catalog/{distro}发行版详情
GET/netboot/groups分组列表
GET/netboot/check-files检查文件
GET/netboot/overlays覆盖层列表
GET/netboot/overlays/{distro}获取覆盖层
PUT/netboot/overlays/{distro}创建/更新覆盖层
DELETE/netboot/overlays/{distro}删除覆盖层
GET/netboot/answer-templates应答文件模板列表
POST/netboot/answer-templates创建应答文件模板
GET/netboot/answer-templates/{id}获取模板
PUT/netboot/answer-templates/{id}更新模板
DELETE/netboot/answer-templates/{id}删除模板
GET/netboot/answer-templates/presets内置预设列表
POST/netboot/answer-templates/validate校验模板
GET/netboot/answer-templates/{id}/versions版本列表
GET/netboot/answer-templates/{id}/versions/{version}获取指定版本
POST/netboot/answer-templates/{id}/preview渲染预览
POST/netboot/answer-templates/{id}/rollback/{version}回滚到指定版本
POST/netboot/answer-templates/{id}/validate校验单条模板
GET/netboot/tasks安装任务列表
POST/netboot/tasks创建安装任务
GET/netboot/tasks/{id}获取任务
PUT/netboot/tasks/{id}更新任务
DELETE/netboot/tasks/{id}删除任务
GET/netboot/task/by-mac/{mac}按 MAC 查询任务(PXE 运行时,免认证)
GET/netboot/answer/{task_id}获取应答文件(PXE 运行时,免认证)

访问控制

方法端点说明
GET/access/blacklist黑名单列表
POST/access/blacklist添加黑名单
DELETE/access/blacklist/{id}删除黑名单条目
GET/access/whitelist白名单列表
POST/access/whitelist添加白名单
DELETE/access/whitelist/{id}删除白名单条目
GET/access/unauthorized未授权设备列表
POST/access/unauthorized/add-to-whitelist未授权设备加入白名单
POST/access/unauthorized/add-to-blacklist未授权设备加入黑名单
DELETE/access/unauthorized/{id}删除未授权设备记录

DNS

方法端点说明
GET/POST/dns/recordsDNS 记录
GET/PUT/DELETE/dns/records/{id}单条记录

BMC

方法端点说明
GET/bmc/configsBMC 配置列表
POST/bmc/configs创建 BMC 配置
GET/bmc/configs/{id}获取 BMC 配置
PUT/bmc/configs/{id}更新 BMC 配置
DELETE/bmc/configs/{id}删除 BMC 配置
POST/bmc/configs/importCSV 导入
POST/bmc/probe探测 BMC
POST/bmc/{id}/refresh刷新 BMC 状态
POST/bmc/{id}/power-on开机
POST/bmc/{id}/power-off关机
POST/bmc/{id}/restart重启
GET/bmc/{id}/status查询状态
POST/bmc/{id}/boot-device设置启动设备
POST/bmc/batch/power-on批量开机
POST/bmc/batch/power-off批量关机
POST/bmc/batch/restart批量重启
POST/bmc/batch/status批量查询

DHCP 预留

方法端点说明
GET/POST/dhcp/reservations预留列表/创建
GET/PUT/DELETE/dhcp/reservations/{id}单条操作

网络诊断

方法端点说明
POST/network/pingPing
POST/network/ping/stream流式 Ping
POST/network/tracerouteTraceroute
POST/network/traceroute/stream流式 Traceroute
GET/network/interfaces网络接口列表

WOL

方法端点说明
GET/wol/history唤醒历史列表
GET/wol/history/{mac}按 MAC 查询唤醒历史
DELETE/wol/history/{id}删除单条唤醒记录
DELETE/wol/history清空唤醒历史
POST/wol/schedule创建定时唤醒
GET/wol/schedules定时唤醒列表
DELETE/wol/schedule/{id}删除定时唤醒
GET/wol/interfacesWOL 可用接口

OS 镜像

方法端点说明
GET/os-images镜像列表
POST/os-images/upload上传镜像
GET/os-images/{id}获取镜像详情
PUT/os-images/{id}更新镜像
DELETE/os-images/{id}删除镜像
POST/os-images/import导入已有镜像文件
GET/os-images/{id}/file下载镜像文件
POST/os-images/{id}/extract解压镜像
POST/os-images/{id}/reprocess重新处理镜像
POST/os-images/{id}/mount挂载镜像
POST/os-images/{id}/unmount卸载镜像
GET/fs/browse文件浏览

引导加载程序(Bootloader)

方法端点说明
GET/bootloader/check引导文件完整性检查
GET/bootloader/files引导文件列表
POST/bootloader/check-file检查单个引导文件

基线(Baseline)

方法端点说明
GET/baselines基线列表
POST/baselines创建基线
GET/baselines/{id}获取基线
PUT/baselines/{id}更新基线
DELETE/baselines/{id}删除基线
GET/baselines/{id}/scripts基线脚本列表
PUT/baselines/{id}/scripts设置基线脚本
GET/baselines/assigned查询机器已分配的基线

脚本(Script)

方法端点说明
GET/scripts脚本列表
POST/scripts创建脚本
GET/scripts/{id}获取脚本
PUT/scripts/{id}更新脚本
DELETE/scripts/{id}删除脚本

存储(Store)

方法端点说明
GET/store/catalog社区模板/脚本目录
GET/store/items/{type}/{id}获取目录条目详情
POST/store/import导入目录条目
POST/store/import-local导入本地条目

其他

方法端点说明
GET/status服务状态
GET/metrics指标快照(JSON)
GET/events事件列表
GET/events/stream事件流(SSE)
GET/logs/stream日志流(SSE)
GET/logs/files日志文件列表
GET/logs/disk-usage日志磁盘占用
POST/logs/cleanup清理日志
GET/interfaces网络接口

PxeLab - 一体化 PXE 网络引导服务器