Files
domainflare/api-docs/domainflare-api.json
2026-06-24 22:10:24 +08:00

277 lines
8.3 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"info": {
"_postman_id": "7f8e9d0c-1b2a-4c5d-8e6f-7091a2b3c4d5",
"name": "domainflare-api",
"description": "Domainflare 面板 HTTP API公开目录与健康检查、面板令牌保护下的账号管理D1以及 Cloudflare API v4 透传代理。集合变量 `baseUrl` 已指向生产环境;请在集合变量中填写 `panelToken`、`cfToken` 等敏感值。",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "公开",
"description": "无需鉴权。",
"item": [
{
"name": "API 目录",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api",
"description": "返回服务名、版本、路由说明与 base 等机器可读目录。"
},
"response": []
},
{
"name": "健康检查",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/health",
"description": "探活,返回 ok、service、version、time。"
},
"response": []
}
]
},
{
"name": "管理(面板令牌)",
"description": "需 `X-App-Token: {{panelToken}}` 或 `Authorization: Bearer {{panelToken}}`(二选一;本集合示例统一用 X-App-Token避免与 CF Bearer 混淆)。",
"item": [
{
"name": "校验面板令牌",
"request": {
"method": "GET",
"header": [
{
"key": "X-App-Token",
"value": "{{panelToken}}",
"type": "text"
}
],
"url": "{{baseUrl}}/api/verify",
"description": "校验面板访问令牌是否有效,成功返回 {\"ok\":true}。"
},
"response": []
},
{
"name": "列出账号",
"request": {
"method": "GET",
"header": [
{
"key": "X-App-Token",
"value": "{{panelToken}}",
"type": "text"
}
],
"url": "{{baseUrl}}/api/accounts",
"description": "列出 D1 中已保存的 Cloudflare 账号(响应含完整 api token仅可信环境使用。"
},
"response": []
},
{
"name": "新增账号",
"request": {
"method": "POST",
"header": [
{
"key": "X-App-Token",
"value": "{{panelToken}}",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"我的账号\",\n \"token\": \"Cloudflare API Token\"\n}\n",
"options": {
"raw": {
"language": "json"
}
}
},
"url": "{{baseUrl}}/api/accounts",
"description": "`token` 必填;`name` 可选。成功 201响应 {\"account\":{...}}。"
},
"response": []
},
{
"name": "更新账号",
"request": {
"method": "PATCH",
"header": [
{
"key": "X-App-Token",
"value": "{{panelToken}}",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"新名称\",\n \"token\": \"新 Token可选\"\n}\n",
"options": {
"raw": {
"language": "json"
}
}
},
"url": "{{baseUrl}}/api/accounts/{{accountId}}",
"description": "字段可选;未出现的字段保持不变。成功 200{\"account\":{...}}。"
},
"response": []
},
{
"name": "删除账号",
"request": {
"method": "DELETE",
"header": [
{
"key": "X-App-Token",
"value": "{{panelToken}}",
"type": "text"
}
],
"url": "{{baseUrl}}/api/accounts/{{accountId}}",
"description": "成功 200{\"ok\":true}。"
},
"response": []
}
]
},
{
"name": "Cloudflare 透传 /api/cf",
"description": "须同时携带:`X-App-Token: {{panelToken}}` 与 `Authorization: Bearer {{cfToken}}`。请求将转发至 `https://api.cloudflare.com/client/v4` 对应路径。",
"item": [
{
"name": "验证 CF Token示例",
"request": {
"method": "GET",
"header": [
{
"key": "X-App-Token",
"value": "{{panelToken}}",
"type": "text"
},
{
"key": "Authorization",
"value": "Bearer {{cfToken}}",
"type": "text"
}
],
"url": "{{baseUrl}}/api/cf/user/tokens/verify",
"description": "对应官方 GET /user/tokens/verify用于快速验证 cfToken 是否有效。"
},
"response": []
},
{
"name": "列出 Zones",
"request": {
"method": "GET",
"header": [
{
"key": "X-App-Token",
"value": "{{panelToken}}",
"type": "text"
},
{
"key": "Authorization",
"value": "Bearer {{cfToken}}",
"type": "text"
}
],
"url": "{{baseUrl}}/api/cf/zones?per_page=50&direction=desc",
"description": "等价于官方 GET /zones查询参数与 Cloudflare 文档一致。"
},
"response": []
},
{
"name": "列出 DNS 记录",
"request": {
"method": "GET",
"header": [
{
"key": "X-App-Token",
"value": "{{panelToken}}",
"type": "text"
},
{
"key": "Authorization",
"value": "Bearer {{cfToken}}",
"type": "text"
}
],
"url": "{{baseUrl}}/api/cf/zones/{{zoneId}}/dns_records?per_page=100&page=1",
"description": "将 `zoneId` 设为实际 Zone ID。"
},
"response": []
},
{
"name": "创建 DNS 记录(示例)",
"request": {
"method": "POST",
"header": [
{
"key": "X-App-Token",
"value": "{{panelToken}}",
"type": "text"
},
{
"key": "Authorization",
"value": "Bearer {{cfToken}}",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"type\": \"A\",\n \"name\": \"www\",\n \"content\": \"192.0.2.1\",\n \"ttl\": 1,\n \"proxied\": true\n}\n",
"options": {
"raw": {
"language": "json"
}
}
},
"url": "{{baseUrl}}/api/cf/zones/{{zoneId}}/dns_records",
"description": "正文与官方 Cloudflare API 一致,按实际 Zone 与记录类型修改。"
},
"response": []
}
]
}
],
"variable": [
{
"key": "baseUrl",
"value": "https://domainflare.smyhub.com"
},
{
"key": "panelToken",
"value": ""
},
{
"key": "cfToken",
"value": ""
},
{
"key": "accountId",
"value": ""
},
{
"key": "zoneId",
"value": ""
}
]
}