宝塔拨测博客拨测技术博客
宝塔域名

宝塔域名 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「记录不存在」。