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/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批量唤醒

引导配置(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/{id}/script-versions脚本版本列表
GET/profiles/{id}/script-diff/{verId}版本差异
POST/profiles/{id}/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/general通用设置
PUT/settings/general更新通用设置
GET/settings/interfaces接口配置
PUT/settings/interfaces更新接口配置
GET/settings/netbootNetboot 设置
PUT/settings/netboot更新 Netboot 设置
GET/settings/logging日志设置
PUT/settings/logging更新日志设置

服务

方法端点说明
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
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/cache-stats缓存统计
GET/PUT/DELETE/netboot/overlays/{distro}覆盖层
GET/POST/PUT/DELETE/netboot/answer-templates应答文件模板
GET/POST/PUT/DELETE/netboot/tasks安装任务

访问控制

方法端点说明
GET/POST/DELETE/access/blacklist黑名单
GET/POST/DELETE/access/whitelist白名单
GET/access/unauthorized未授权设备

DNS

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

BMC

方法端点说明
GET/POST/bmc/configsBMC 配置
POST/bmc/configs/importCSV 导入
POST/bmc/probe探测 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/POST/DELETE/wol/history唤醒历史
GET/POST/DELETE/wol/schedules定时任务
GET/wol/interfacesWOL 接口

OS 镜像

方法端点说明
GET/POST/os-images镜像列表/上传
GET/PUT/DELETE/os-images/{id}单条操作
POST/os-images/{id}/extract解压
POST/os-images/{id}/mount挂载
POST/os-images/{id}/unmount卸载
GET/fs/browse文件浏览

其他

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

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