接口详情
GET /v1/aggregated-edge/accounts
The tenant's own vendor accounts (no credentials) and the package account limit
- operationId
listTenantCDNAccounts- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.read
响应
listTenantCDNAccounts 响应| 状态码 | 说明 |
|---|
200 | Accounts 字段:items: array<Account> account_limit: integer |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/aggregated-edge/accounts/{id}
One own vendor account (no credentials)
- operationId
getTenantCDNAccount- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.read
参数
getTenantCDNAccount 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
响应
getTenantCDNAccount 响应| 状态码 | 说明 |
|---|
200 | Account 字段:id?: string(uuid) provider?: string name?: string access?: string settings?: object secret_fingerprints?: object status?: string credential_version?: integer credential_revoked?: boolean account_ref?: string plan?: string capabilities?: array<string> missing_permissions?: array<string> verified_at?: string(date-time) hostname_limit?: integer write_paused_until?: string(date-time) last_error_code?: string revision?: integer created_at?: string(date-time) updated_at?: string(date-time) fallback_origin?: string fallback_origin_status?: string fallback_origin_checked_at?: string(date-time) waf_rule_limit?: integer usage_pulled_through?: string(date-time) usage_error_code?: string |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/aggregated-edge/providers
Vendor adapters a tenant can use, their capabilities and token permission templates
- operationId
listTenantCDNProviders- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.read
响应
listTenantCDNProviders 响应| 状态码 | 说明 |
|---|
200 | Adapters 字段:items: array<ProviderDescriptor> |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/aggregated-edge/sites/{site_id}/availability
Last 24 hours of probe results per supply and line of an own website (half-hour buckets)
- operationId
getTenantCDNSiteAvailability- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.read
参数
getTenantCDNSiteAvailability 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
响应
getTenantCDNSiteAvailability 响应| 状态码 | 说明 |
|---|
200 | Availability 字段:site_id?: string(uuid) from?: string(date-time) to?: string(date-time) sources?: array<object> |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/aggregated-edge/sites/{site_id}/bindings
Every access an own website is bound to
- operationId
listTenantCDNSiteBindings- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.read
参数
listTenantCDNSiteBindings 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
响应
listTenantCDNSiteBindings 响应| 状态码 | 说明 |
|---|
200 | Bindings 字段:items: array<SiteBinding> |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/aggregated-edge/sites/{site_id}/fallback-chain
Whole-site fallback chain (自动切换) of an own website and where its default line points now
- operationId
getTenantFallbackChain- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.read
说明(契约原文)
enabled true means the controller switches the site's default line by itself; current is where the default line points now (kind local / backup_group / market_subscription / third_party_cdn). The controller's supplies show only kind, owner platform, an opaque supply_id and health. A per-line DNS plugin should treat an enabled chain as the owner of the default line. PUT, switch and failback are session-only.
参数
getTenantFallbackChain 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
响应
getTenantFallbackChain 响应| 状态码 | 说明 |
|---|
200 | Chain 字段:site_id?: string(uuid) revision?: integer auto_switch?: boolean failback?: string use_own_cdn?: boolean admin_mode?: string managed_by_admin?: boolean enabled?: boolean package_allowed?: boolean unavailable?: string notice?: string levels?: array<object> current?: ChainPosition frozen_at?: string(date-time) frozen_reason?: string events?: array<FallbackChainEvent> |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/aggregated-edge/sites/{site_id}/fallback-chain/availability
Last 24 hours of probe results of the chain's sources (controller targets and names hidden)
- operationId
getTenantFallbackChainAvailability- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.read
参数
getTenantFallbackChainAvailability 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
响应
getTenantFallbackChainAvailability 响应| 状态码 | 说明 |
|---|
200 | Availability 字段:site_id?: string(uuid) from?: string(date-time) to?: string(date-time) sources?: array<object> |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/aggregated-edge/sites/{site_id}/fallback-chain/events
Default-line switching records of an own website, newest first (controller targets hidden)
- operationId
listTenantFallbackChainEvents- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.read
参数
listTenantFallbackChainEvents 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
limit | query | integer | 否 | 1-200, default 50 |
|---|
响应
listTenantFallbackChainEvents 响应| 状态码 | 说明 |
|---|
200 | Events 字段:items: array<FallbackChainEvent> |
|---|
400 | Error envelope |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/aggregated-edge/sites/{site_id}/schedule
Per-line switching state of an own website (current target, candidates, strategy)
- operationId
getTenantCDNSiteSchedule- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.read
说明(契约原文)
Read only with an API key (PUT schedule, unfreeze, switch and keep stay session-only). The candidates of the controller's own supplies carry owner platform; local, backup_group and follow_default are the controller's node groups.
参数
getTenantCDNSiteSchedule 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
响应
getTenantCDNSiteSchedule 响应| 状态码 | 说明 |
|---|
200 | Schedule 字段:site_id?: string(uuid) domain?: string cname?: string managed?: boolean failback?: string: auto / manual min_stay_seconds?: integer flap_limit?: integer strategy?: string: failover / quality / fixed quality_min_interval_seconds?: integer quality_margin?: number frozen_at?: string(date-time) freeze_kept?: boolean origin?: object revision?: integer dns?: BindingResult lines?: array<object> auto_switch_allowed?: boolean notice?: string |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/aggregated-edge/supplies
The tenant's own third-party CDN accesses
- operationId
listTenantCDNSupplies- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.read
响应
listTenantCDNSupplies 响应| 状态码 | 说明 |
|---|
200 | Accesses 字段:items: array<Supply> |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/aggregated-edge/supplies
Create an access on an own account (Cloudflare config_sync) or a schedule_only access
- operationId
createTenantCDNSupply- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.manage
说明(契约原文)
Audited as aggregated_edge.supply.create. A tenant's config_sync access is Cloudflare on one of its own accounts; other vendors are schedule_only without an account.
请求体
application/json · 必填:是
createTenantCDNSupply 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
name | string | 是 | — |
|---|
provider | string | 是 | — |
|---|
mode | string: config_sync / schedule_only | 是 | — |
|---|
account_id | string(uuid) | 否 | own account; required for config_sync |
|---|
endpoint | string | 否 | schedule_only: the vendor access CNAME |
|---|
origin_server | string | 否 | — |
|---|
drift_policy | string | 否 | enforce (default) or report |
|---|
health_path | string | 否 | — |
|---|
health_status | integer | 否 | — |
|---|
expected_revision | integer | 否 | update only |
|---|
health_method | string: GET / HEAD | 否 | — |
|---|
health_headers | array<ProbeHeader> | 否 | — |
|---|
failure_threshold | integer | 否 | — |
|---|
recovery_threshold | integer | 否 | — |
|---|
响应
createTenantCDNSupply 响应| 状态码 | 说明 |
|---|
201 | Created 字段:id?: string(uuid) name?: string provider?: string mode?: string: config_sync / schedule_only account_id?: string(uuid) endpoint?: string origin_server?: string drift_policy?: string health_path?: string health_status?: integer health_method?: string health_headers?: array<ProbeHeader> failure_threshold?: integer recovery_threshold?: integer status?: string sites?: integer revision?: integer created_at?: string(date-time) updated_at?: string(date-time) |
|---|
400 | Error envelope |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
409 | Error envelope |
|---|
415 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/aggregated-edge/supplies/{id}
One own access
- operationId
getTenantCDNSupply- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.read
参数
getTenantCDNSupply 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
响应
getTenantCDNSupply 响应| 状态码 | 说明 |
|---|
200 | Access 字段:id?: string(uuid) name?: string provider?: string mode?: string: config_sync / schedule_only account_id?: string(uuid) endpoint?: string origin_server?: string drift_policy?: string health_path?: string health_status?: integer health_method?: string health_headers?: array<ProbeHeader> failure_threshold?: integer recovery_threshold?: integer status?: string sites?: integer revision?: integer created_at?: string(date-time) updated_at?: string(date-time) |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
PUT /v1/aggregated-edge/supplies/{id}
Replace an own access (expected_revision guards concurrent edits)
- operationId
updateTenantCDNSupply- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.manage
说明(契约原文)
Audited as aggregated_edge.supply.update.
参数
updateTenantCDNSupply 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
请求体
application/json · 必填:是
updateTenantCDNSupply 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
name | string | 是 | — |
|---|
provider | string | 是 | — |
|---|
mode | string: config_sync / schedule_only | 是 | — |
|---|
account_id | string(uuid) | 否 | own account; required for config_sync |
|---|
endpoint | string | 否 | schedule_only: the vendor access CNAME |
|---|
origin_server | string | 否 | — |
|---|
drift_policy | string | 否 | enforce (default) or report |
|---|
health_path | string | 否 | — |
|---|
health_status | integer | 否 | — |
|---|
expected_revision | integer | 否 | update only |
|---|
health_method | string: GET / HEAD | 否 | — |
|---|
health_headers | array<ProbeHeader> | 否 | — |
|---|
failure_threshold | integer | 否 | — |
|---|
recovery_threshold | integer | 否 | — |
|---|
响应
updateTenantCDNSupply 响应| 状态码 | 说明 |
|---|
200 | Updated 字段:id?: string(uuid) name?: string provider?: string mode?: string: config_sync / schedule_only account_id?: string(uuid) endpoint?: string origin_server?: string drift_policy?: string health_path?: string health_status?: integer health_method?: string health_headers?: array<ProbeHeader> failure_threshold?: integer recovery_threshold?: integer status?: string sites?: integer revision?: integer created_at?: string(date-time) updated_at?: string(date-time) |
|---|
400 | Error envelope |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
409 | Error envelope |
|---|
415 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/aggregated-edge/supplies/{id}/sites
Websites bound to an own access and their sync state
- operationId
listTenantCDNSupplySites- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.read
参数
listTenantCDNSupplySites 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
响应
listTenantCDNSupplySites 响应| 状态码 | 说明 |
|---|
200 | Sites 字段:items: array<SiteSyncSummary> |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/aggregated-edge/supplies/{id}/sites
Bind one of the tenant's websites to an own access (primary or backup, optional DNS line)
- operationId
bindTenantCDNSupplySite- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.manage
说明(契约原文)
Audited as aggregated_edge.binding.create. The site must belong to the caller's tenant scope (404 otherwise).
参数
bindTenantCDNSupplySite 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
请求体
application/json · 必填:是
bindTenantCDNSupplySite 请求体| 名称 | 类型 | 必填 | 说明 |
|---|
site_id | string(uuid) | 是 | — |
|---|
role | string: primary / backup | 否 | default primary |
|---|
priority | integer | 否 | — |
|---|
line_scope | string | 否 | DNS line ("" = default line) |
|---|
ignored_settings | array<string> | 否 | — |
|---|
响应
bindTenantCDNSupplySite 响应| 状态码 | 说明 |
|---|
200 | What the site's DNS can carry 字段:dns_provider?: string lines_supported?: boolean line_scopes?: array<string> notice?: string |
|---|
400 | Error envelope |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
409 | Error envelope |
|---|
415 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/aggregated-edge/supplies/{id}/sites/{site_id}
Configuration-sync state of a site on an own access (custom hostname, validation, drift)
- operationId
getTenantCDNSiteSync- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.read
参数
getTenantCDNSiteSync 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
响应
getTenantCDNSiteSync 响应| 状态码 | 说明 |
|---|
200 | Sync state 字段:site_id?: string(uuid) supply_id?: string(uuid) state?: string site_revision?: integer projection_sha256?: string ignored_settings?: array<string> refusal?: array<object> drift_state?: string drift?: array<object> validation?: array<object> last_error_code?: string applied_at?: string(date-time) observed_at?: string(date-time) resources?: array<object> writes?: integer |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
DELETE /v1/aggregated-edge/supplies/{id}/sites/{site_id}
Unbind a site from an own access (keep_remote=true leaves the vendor hostname in place)
- operationId
unbindTenantCDNSupplySite- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.manage
说明(契约原文)
Audited as aggregated_edge.binding.delete.
参数
unbindTenantCDNSupplySite 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
line_scope | query | string | 否 | — |
|---|
keep_remote | query | string: true / false | 否 | — |
|---|
响应
unbindTenantCDNSupplySite 响应| 状态码 | 说明 |
|---|
204 | Unbound |
|---|
400 | Error envelope |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
409 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/aggregated-edge/supplies/{id}/sites/{site_id}/observe
Read the site's custom hostname back from the vendor and report drift (no vendor write)
- operationId
observeTenantCDNSite- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.manage
参数
observeTenantCDNSite 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
响应
observeTenantCDNSite 响应| 状态码 | 说明 |
|---|
200 | Observed state 字段:site_id?: string(uuid) supply_id?: string(uuid) state?: string site_revision?: integer projection_sha256?: string ignored_settings?: array<string> refusal?: array<object> drift_state?: string drift?: array<object> validation?: array<object> last_error_code?: string applied_at?: string(date-time) observed_at?: string(date-time) resources?: array<object> writes?: integer |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
409 | Error envelope |
|---|
429 | Error envelope |
|---|
502 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。429 被限速:等待后再试,降低并发。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/aggregated-edge/supplies/{id}/sites/{site_id}/sync
Create or update the site's custom hostname and settings on the vendor now
- operationId
syncTenantCDNSite- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.manage
说明(契约原文)
writes is how many vendor writes the call made; vendor writes are recorded in the site's sync state.
参数
syncTenantCDNSite 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
响应
syncTenantCDNSite 响应| 状态码 | 说明 |
|---|
200 | Sync state after the call 字段:site_id?: string(uuid) supply_id?: string(uuid) state?: string site_revision?: integer projection_sha256?: string ignored_settings?: array<string> refusal?: array<object> drift_state?: string drift?: array<object> validation?: array<object> last_error_code?: string applied_at?: string(date-time) observed_at?: string(date-time) resources?: array<object> writes?: integer |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
409 | Error envelope |
|---|
429 | Error envelope |
|---|
502 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。429 被限速:等待后再试,降低并发。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/aggregated-edge/supplies/{id}/sites/{site_id}/usage
Stored hourly usage of the site's hostname on an own access
- operationId
getTenantCDNSiteUsage- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.read
参数
getTenantCDNSiteUsage 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
hours | query | integer | 否 | 1..retention; default 24 |
|---|
响应
getTenantCDNSiteUsage 响应| 状态码 | 说明 |
|---|
200 | Usage 字段:site_id?: string(uuid) supply_id?: string(uuid) hostname?: string from?: string(date-time) to?: string(date-time) requests?: integer bytes?: integer points?: array<object> pulled_through?: string(date-time) error_code?: string |
|---|
400 | Error envelope |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
POST /v1/aggregated-edge/supplies/{id}/sites/{site_id}/validation/retry
Publish the vendor's hostname/certificate validation TXT records again
- operationId
retryTenantCDNSiteValidation- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.manage
参数
retryTenantCDNSiteValidation 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
id | path | string(uuid) | 是 | — |
|---|
site_id | path | string(uuid) | 是 | — |
|---|
响应
retryTenantCDNSiteValidation 响应| 状态码 | 说明 |
|---|
200 | Sync state after the retry 字段:site_id?: string(uuid) supply_id?: string(uuid) state?: string site_revision?: integer projection_sha256?: string ignored_settings?: array<string> refusal?: array<object> drift_state?: string drift?: array<object> validation?: array<object> last_error_code?: string applied_at?: string(date-time) observed_at?: string(date-time) resources?: array<object> writes?: integer |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
409 | Error envelope |
|---|
429 | Error envelope |
|---|
502 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。429 被限速:等待后再试,降低并发。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表
GET /v1/aggregated-edge/switch-events
Switching records of the tenant's own websites, newest first (every line)
- operationId
listTenantCDNSwitchEvents- 认证
- API Key:请求头 Authorization: CdncaKey <key_id>.<secret>。有效权限是 Key 的范围与所有者当前权限的交集。
- 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
- 所需权限
全部需要:edge.tenant.read
参数
listTenantCDNSwitchEvents 参数| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|
site_id | query | string(uuid) | 否 | one own website; another tenant's reads as 404 |
|---|
limit | query | integer | 否 | 1-200, default 50 |
|---|
响应
listTenantCDNSwitchEvents 响应| 状态码 | 说明 |
|---|
200 | Events 字段:items: array<SwitchEvent> |
|---|
400 | Error envelope |
|---|
401 | Error envelope |
|---|
403 | Error envelope |
|---|
404 | Error envelope |
|---|
503 | Error envelope |
|---|
失败时怎么办
400 按字段说明修正参数或请求体再发;不要原样重试。401 检查凭据格式、是否过期或被轮换。403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。404 资源不存在或不属于当前租户。503 依赖暂不可用:稍后用原 Idempotency-Key 重试。
↑ 回到列表