宝塔域名 API 怎么管理 DNS 解析记录?创建、查询、更新、删除四个接口用法
用宝塔域名 API 管理 DNS 解析记录,共四个接口:创建(create)、查询(list)、更新(update)、删除(delete)。调用它们的前提是已在域名管理后台申请了 Account ID、Access Key、Secret Key 三份密钥,并会用 HMAC-SHA256 算签名(这一步的详细步骤见官方文档《宝塔域名 API 概览与签名认证》)。本文只讲四个解析记录接口各自的请求参数、返回字段和调用要点。
四个接口分别做什么
宝塔域名 API 把 DNS 解析记录的管理拆成四个 POST 接口:
| 接口 | 地址 | 作用 |
|---|---|---|
| 创建 | POST /api/v1/dns/record/create | 新增一条解析记录 |
| 查询 | POST /api/v1/dns/record/list | 按条件筛选、分页列出记录 |
| 更新 | POST /api/v1/dns/record/update | 修改已有记录的部分字段 |
| 删除 | POST /api/v1/dns/record/delete | 删除一条记录(不可逆) |
下面按「查询 → 创建 → 更新 → 删除」的顺序讲调用细节。
查询解析记录:分页 + 多维度筛选
查询接口 POST /api/v1/dns/record/list 用于获取指定域名下的解析记录列表,支持筛选和分页。请求示例:
{
"domain_id": 335,
"searchKey": "record",
"searchValue": "www",
"domain_type": 1,
"p": 1
}
请求参数:
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| domain_id | 是 | Integer | 域名 ID |
| searchKey | 否 | String | 搜索字段:record、value、type、state、remark |
| searchValue | 否 | String | 搜索值,支持模糊搜索 |
| domain_type | 是 | Integer | 域名类型:1(宝塔内部域名)、2(外部域名) |
| p | 否 | Integer | 页码,从 1 开始,默认为 1 |
searchKey 与 searchValue 搭配使用,共五种筛选维度:
record:按主机记录名称搜索value:按记录值搜索type:按记录类型搜索state:按记录状态搜索remark:按备注信息搜索
成功后返回 data,其中 count 是记录总数、data 是记录列表、page 是分页 HTML 信息。每条记录的关键字段:
| 字段 | 含义 |
|---|---|
| record | 主机记录,如 @、www |
| type | 记录类型,如 A、CNAME |
| value | 记录值 |
| TTL | 生存时间(秒) |
| MX | 权重值 |
| state | 记录状态:0(正常)、1(暂停) |
| remark | 备注信息 |
| viewID | 线路类型 ID |
| record_id | 记录 ID,后续更新/删除要用 |
域名不存在时返回 code: 404「域名不存在」。
创建解析记录:七种记录类型 + MX 权重
创建接口 POST /api/v1/dns/record/create 为指定域名新增解析记录,支持 A、AAAA、CNAME、MX、TXT、NS、SRV 等类型。请求示例:
{
"domain_id": 75,
"domain_type": 1,
"value": "192.168.1.1",
"record": "@",
"type": "A",
"mx": 1,
"ttl": 600,
"remark": "默认解析",
"view_id": 1
}
必选参数五个:domain_id(域名 ID)、domain_type(1 内部 / 2 外部)、value(记录值)、record(主机记录,如 @、www、mail、*)、type(记录类型);mx、ttl、remark、view_id 为可选。
记录类型与值格式对照:
| 记录类型 | 值格式 | 示例 |
|---|---|---|
| A | IPv4 地址 | 192.168.1.1 |
| AAAA | IPv6 地址 | 2001:db8::1 |
| CNAME | 域名 | example.com |
| MX | 邮件服务器域名 | mail.example.com |
| TXT | 文本内容 | v=spf1 include:_spf.example.com ~all |
| NS | 名称服务器 | ns1.example.com |
| SRV | 服务记录 | 10 5 443 target.example.com |
MX 权重(mx 参数)三个档位:5(高优先级)、10(次高优先级)、20(备份节点)。ttl 生存时间默认 600 秒,view_id 指定解析线路类型。成功返回 code: 0、msg: "创建解析记录成功"。
更新解析记录:只传要改的字段
更新接口 POST /api/v1/dns/record/update 修改已有记录。请求示例:
{
"record_id": 1,
"domain_type": 2,
"domain_id": 1222200,
"record": "www",
"value": "",
"type": "A",
"mx": 1,
"ttl": 600,
"remark": "默认解析",
"view_id": 1
}
必选参数三个:record_id(记录 ID)、domain_type、domain_id;其余字段(record、value、type、mx、ttl、remark、view_id)均为可选。注意三点:
- 只需传需要更新的字段,未传入的字段保持原值不变。
- 记录类型如果发生变化,记录值必须符合新类型的格式要求。
- 必须同时提供 domain_type 和 domain_id 参数。
删除解析记录:不可逆,删前确认
删除接口 POST /api/v1/dns/record/delete 删除指定记录。请求示例:
{
"record_id": 80,
"domain_type": 1,
"domain_id": 75
}
只有三个必选参数:record_id、domain_type、domain_id。
删除解析记录是不可逆操作,删除后该记录将立即停止解析,调用前请确认。
成功返回 code: 0、msg: "删除解析记录成功";记录不存在时返回 code: 404「记录不存在」。
信息来源
本文事实以宝塔官方文档为准:《API·获取解析记录列表》、《API·创建 DNS 解析记录》、《API·更新 DNS 解析记录》、《API·删除 DNS 解析记录》。
常见问题
宝塔域名 API 管理 DNS 解析记录有哪几个接口?
共四个:POST /api/v1/dns/record/create 创建、POST /api/v1/dns/record/list 查询、POST /api/v1/dns/record/update 更新、POST /api/v1/dns/record/delete 删除,都通过 POST 请求调用,需先申请 API 密钥并用 HMAC-SHA256 签名。
查询解析记录怎么按类型或主机记录筛选?
list 接口用 searchKey 指定搜索字段(record 主机记录、value 记录值、type 记录类型、state 记录状态、remark 备注),searchValue 填搜索值,支持模糊搜索;domain_type 填 1(宝塔内部域名)或 2(外部域名),p 填页码。
创建 MX 记录时权重怎么填?
mx 参数可选 5(高优先级)、10(次高优先级)、20(备份节点);ttl 默认 600 秒可省略;view_id 指定线路类型。
更新解析记录需要传全部字段吗?
不需要。update 接口只要求 record_id、domain_type、domain_id 三个必选参数,其余字段只传要改的部分,未传的字段保持原值;但记录类型若改变,记录值必须符合新类型的格式。
删除解析记录能恢复吗?
不能。删除是不可逆操作,删除后记录立即停止解析,调用前需确认;传 record_id、domain_type、domain_id 即可删除,记录不存在会返回 code 404「记录不存在」。