API 参考
本节概览 cert-ctrl 的公开 HTTP API。完整路径列表见:
Base URL
示例使用 https://cjj365.cc。本地开发环境常见地址:
http://localhost:8080https://localhost:10000(TLS 代理)
认证方式
- 会话 Cookie
cjj365,通过POST /auth/general(action login)或第三方登录获取。 - API Key:
Authorization: Bearer ak_...(无状态,无需 Cookie)。 - 设备 JWT:
Authorization: Bearer <jwt>,用于/apiv1/devices/self/*。
响应格式
成功响应返回 {"data": ...}。错误响应格式:
{ "error": { "code": 4001, "what": "Resource not found" } }
204 No Content 响应不带 body。
分页
多数列表接口支持 offset 与 limit。默认 limit 为 100。
资源概览
用户作用域资源(需要会话)
使用 /apiv1/users/:user_id/... 或 /apiv1/me/... 访问当前用户。
- 证书与签发:
/apiv1/users/:user_id/certificates、/issues、/export - ACME 账户:
/apiv1/users/:user_id/acme-accounts - 设备与安装配置:
/apiv1/users/:user_id/devices - 证书机构:
/apiv1/users/:user_id/cas - API Key:
/apiv1/users/:user_id/apikeys - 通知:
/apiv1/users/:user_id/notifications/* - 钱包与支付:
/apiv1/users/:user_id/wallets、/payment-quotes、/payments - Git 托管元数据:
/apiv1/users/:user_id/gitrepos与/git/*
API Key 自动化端点
/apiv1/me/certificate-assign/apiv1/me/install-config-update/:device_public_id
设备自助端点
/apiv1/devices/self/updates/apiv1/devices/self/certificates/:certificate_id/deploy-materials/apiv1/devices/self/cas/:ca_id/bundle/apiv1/devices/self/install-config/apiv1/devices/self/notify
目录与注册
/apiv1/permissions/catalog/apiv1/dns/providers/catalog/apiv1/device/registration
内部/Worker 端点
/apiv1/internal/certificates/:certificate_id/challenges/http01/start|stop/apiv1/internal/certificates/:certificate_id/challenges/tlsalpn01/start|stop
示例
登录并保留 Cookie
curl -X POST https://cjj365.cc/auth/general \
-H "Content-Type: application/json" \
-d '{"action":"login","email":"user@example.com","password":"password"}' \
-c cookies.txt
创建证书
curl -X POST https://cjj365.cc/apiv1/users/1/certificates \
-H "Content-Type: application/json" \
-b cookies.txt \
-d '{
"domain_name": "example.com",
"sans": ["example.com", "www.example.com"],
"acct_id": 7,
"action": "create",
"key_algorithm": "ECDSA",
"policy": "HYBRID"
}'
给设备分配证书(API Key)
curl -X POST https://cjj365.cc/apiv1/me/certificate-assign \
-H "Authorization: Bearer ak_yourtoken" \
-H "Content-Type: application/json" \
-d '{"device_public_id":"dev_abc123"}'
支持
如需访问或权限协助,请联系账号管理员或支持渠道。