第一个只读请求
示例读取安全策略列表,需要 security_policies.read。在客户的受控环境里执行:
CDNCA_CONTROL_ORIGIN='https://control.example.com'
# inject CDNCA_API_KEY_ID and CDNCA_API_KEY_SECRET from your secret store
curl --fail-with-body --silent --show-error \
-H "Authorization: CdncaKey ${CDNCA_API_KEY_ID:?}.${CDNCA_API_KEY_SECRET:?}" \
"${CDNCA_CONTROL_ORIGIN}/v1/security-policies?page=1&limit=20"
{"items":[],"total":0,"page":1,"limit":20}
这个接口 page 从 1 开始,limit 为 1–100,一直取到已取数量达到 total。其他列表可能用不透明的 cursor 与 next_cursor 翻页,不能统一套页码;每个接口用哪种以接口详情的参数为准。
常见失败及下一步
失败时响应体是统一的错误信封 {"error":{"code":"…","message":"…","request_id":"…"}},响应头带 X-Request-ID。按 code 做判断,message 不是本地化键;联系支持时附上 request_id。
| 状态码 | 先检查 | 下一步 |
|---|
| 400 | 参数、请求体字段 | 按接口详情的字段修正,不要原样重试 |
|---|
| 401 | 凭据格式、是否过期或已轮换 | 换成有效凭据 |
|---|
| 403 | Key 范围、所有者当前权限、租户作用域 | 请客户调整授权;不要换更高权限账号绕过 |
|---|
| 404 | 资源 ID 与所属租户 | 确认资源存在且属于当前租户 |
|---|
| 409 | 幂等冲突或状态冲突 | 回读当前状态;重试保持原键和原内容 |
|---|
| 412 / 428 | If-Match 版本 | 回读最新 ETag 后重新判断 |
|---|
| 429 | 调用频率 | 等待后降低并发再试 |
|---|
| 5xx 或网络超时 | 请求是否已生效 | 先按 ID 或列表回读确认,再决定是否用原 Idempotency-Key 重试 |
|---|