开放接口

/v1/aggregated-edge

22 个接口 · 22 个接口支持 API Key

← 全部分组 · 第一次调用?先看教程:认证、权限、请求与响应、常见失败

方法路径摘要认证
GET/v1/aggregated-edge/accountsThe tenant's own vendor accounts (no credentials) and the package account limitAPI Key 可调登录会话
GET/v1/aggregated-edge/accounts/{id}One own vendor account (no credentials)API Key 可调登录会话
GET/v1/aggregated-edge/providersVendor adapters a tenant can use, their capabilities and token permission templatesAPI Key 可调登录会话
GET/v1/aggregated-edge/sites/{site_id}/availabilityLast 24 hours of probe results per supply and line of an own website (half-hour buckets)API Key 可调登录会话
GET/v1/aggregated-edge/sites/{site_id}/bindingsEvery access an own website is bound toAPI Key 可调登录会话
GET/v1/aggregated-edge/sites/{site_id}/fallback-chainWhole-site fallback chain (自动切换) of an own website and where its default line points nowAPI Key 可调登录会话
GET/v1/aggregated-edge/sites/{site_id}/fallback-chain/availabilityLast 24 hours of probe results of the chain's sources (controller targets and names hidden)API Key 可调登录会话
GET/v1/aggregated-edge/sites/{site_id}/fallback-chain/eventsDefault-line switching records of an own website, newest first (controller targets hidden)API Key 可调登录会话
GET/v1/aggregated-edge/sites/{site_id}/schedulePer-line switching state of an own website (current target, candidates, strategy)API Key 可调登录会话
GET/v1/aggregated-edge/suppliesThe tenant's own third-party CDN accessesAPI Key 可调登录会话
POST/v1/aggregated-edge/suppliesCreate an access on an own account (Cloudflare config_sync) or a schedule_only accessAPI Key 可调登录会话
GET/v1/aggregated-edge/supplies/{id}One own accessAPI Key 可调登录会话
PUT/v1/aggregated-edge/supplies/{id}Replace an own access (expected_revision guards concurrent edits)API Key 可调登录会话
GET/v1/aggregated-edge/supplies/{id}/sitesWebsites bound to an own access and their sync stateAPI Key 可调登录会话
POST/v1/aggregated-edge/supplies/{id}/sitesBind one of the tenant's websites to an own access (primary or backup, optional DNS line)API Key 可调登录会话
GET/v1/aggregated-edge/supplies/{id}/sites/{site_id}Configuration-sync state of a site on an own access (custom hostname, validation, drift)API 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)API Key 可调登录会话
POST/v1/aggregated-edge/supplies/{id}/sites/{site_id}/observeRead the site's custom hostname back from the vendor and report drift (no vendor write)API Key 可调登录会话
POST/v1/aggregated-edge/supplies/{id}/sites/{site_id}/syncCreate or update the site's custom hostname and settings on the vendor nowAPI Key 可调登录会话
GET/v1/aggregated-edge/supplies/{id}/sites/{site_id}/usageStored hourly usage of the site's hostname on an own accessAPI Key 可调登录会话
POST/v1/aggregated-edge/supplies/{id}/sites/{site_id}/validation/retryPublish the vendor's hostname/certificate validation TXT records againAPI Key 可调登录会话
GET/v1/aggregated-edge/switch-eventsSwitching records of the tenant's own websites, newest first (every line)API Key 可调登录会话

契约文件:api/control-aggregated-edge-tenant.openapi.yaml

接口详情

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 响应
状态码说明
200Accounts

字段:items: array<Account> account_limit: integer

401Error envelope
403Error envelope
503Error 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 参数
名称位置类型必填说明
idpathstring(uuid)是—

响应

getTenantCDNAccount 响应
状态码说明
200Account

字段: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

401Error envelope
403Error envelope
404Error envelope
503Error 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 响应
状态码说明
200Adapters

字段:items: array<ProviderDescriptor>

401Error envelope
403Error envelope
503Error 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_idpathstring(uuid)是—

响应

getTenantCDNSiteAvailability 响应
状态码说明
200Availability

字段:site_id?: string(uuid) from?: string(date-time) to?: string(date-time) sources?: array<object>

401Error envelope
403Error envelope
404Error envelope
503Error 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_idpathstring(uuid)是—

响应

listTenantCDNSiteBindings 响应
状态码说明
200Bindings

字段:items: array<SiteBinding>

401Error envelope
403Error envelope
404Error envelope
503Error 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_idpathstring(uuid)是—

响应

getTenantFallbackChain 响应
状态码说明
200Chain

字段: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>

401Error envelope
403Error envelope
404Error envelope
503Error 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_idpathstring(uuid)是—

响应

getTenantFallbackChainAvailability 响应
状态码说明
200Availability

字段:site_id?: string(uuid) from?: string(date-time) to?: string(date-time) sources?: array<object>

401Error envelope
403Error envelope
404Error envelope
503Error 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_idpathstring(uuid)是—
limitqueryinteger否1-200, default 50

响应

listTenantFallbackChainEvents 响应
状态码说明
200Events

字段:items: array<FallbackChainEvent>

400Error envelope
401Error envelope
403Error envelope
404Error envelope
503Error 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_idpathstring(uuid)是—

响应

getTenantCDNSiteSchedule 响应
状态码说明
200Schedule

字段: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

401Error envelope
403Error envelope
404Error envelope
503Error 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 响应
状态码说明
200Accesses

字段:items: array<Supply>

401Error envelope
403Error envelope
503Error 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 请求体
名称类型必填说明
namestring是—
providerstring是—
modestring: config_sync / schedule_only是—
account_idstring(uuid)否own account; required for config_sync
endpointstring否schedule_only: the vendor access CNAME
origin_serverstring否—
drift_policystring否enforce (default) or report
health_pathstring否—
health_statusinteger否—
expected_revisioninteger否update only
health_methodstring: GET / HEAD否—
health_headersarray<ProbeHeader>否—
failure_thresholdinteger否—
recovery_thresholdinteger否—

响应

createTenantCDNSupply 响应
状态码说明
201Created

字段: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)

400Error envelope
401Error envelope
403Error envelope
404Error envelope
409Error envelope
415Error envelope
503Error 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 参数
名称位置类型必填说明
idpathstring(uuid)是—

响应

getTenantCDNSupply 响应
状态码说明
200Access

字段: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)

401Error envelope
403Error envelope
404Error envelope
503Error 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 参数
名称位置类型必填说明
idpathstring(uuid)是—

请求体

application/json · 必填:是

updateTenantCDNSupply 请求体
名称类型必填说明
namestring是—
providerstring是—
modestring: config_sync / schedule_only是—
account_idstring(uuid)否own account; required for config_sync
endpointstring否schedule_only: the vendor access CNAME
origin_serverstring否—
drift_policystring否enforce (default) or report
health_pathstring否—
health_statusinteger否—
expected_revisioninteger否update only
health_methodstring: GET / HEAD否—
health_headersarray<ProbeHeader>否—
failure_thresholdinteger否—
recovery_thresholdinteger否—

响应

updateTenantCDNSupply 响应
状态码说明
200Updated

字段: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)

400Error envelope
401Error envelope
403Error envelope
404Error envelope
409Error envelope
415Error envelope
503Error 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 参数
名称位置类型必填说明
idpathstring(uuid)是—

响应

listTenantCDNSupplySites 响应
状态码说明
200Sites

字段:items: array<SiteSyncSummary>

401Error envelope
403Error envelope
404Error envelope
503Error 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 参数
名称位置类型必填说明
idpathstring(uuid)是—

请求体

application/json · 必填:是

bindTenantCDNSupplySite 请求体
名称类型必填说明
site_idstring(uuid)是—
rolestring: primary / backup否default primary
priorityinteger否—
line_scopestring否DNS line ("" = default line)
ignored_settingsarray<string>否—

响应

bindTenantCDNSupplySite 响应
状态码说明
200What the site's DNS can carry

字段:dns_provider?: string lines_supported?: boolean line_scopes?: array<string> notice?: string

400Error envelope
401Error envelope
403Error envelope
404Error envelope
409Error envelope
415Error envelope
503Error 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 参数
名称位置类型必填说明
idpathstring(uuid)是—
site_idpathstring(uuid)是—

响应

getTenantCDNSiteSync 响应
状态码说明
200Sync 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

401Error envelope
403Error envelope
404Error envelope
503Error 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 参数
名称位置类型必填说明
idpathstring(uuid)是—
site_idpathstring(uuid)是—
line_scopequerystring否—
keep_remotequerystring: true / false否—

响应

unbindTenantCDNSupplySite 响应
状态码说明
204Unbound
400Error envelope
401Error envelope
403Error envelope
404Error envelope
409Error envelope
503Error 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 参数
名称位置类型必填说明
idpathstring(uuid)是—
site_idpathstring(uuid)是—

响应

observeTenantCDNSite 响应
状态码说明
200Observed 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

401Error envelope
403Error envelope
404Error envelope
409Error envelope
429Error envelope
502Error envelope
503Error 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 参数
名称位置类型必填说明
idpathstring(uuid)是—
site_idpathstring(uuid)是—

响应

syncTenantCDNSite 响应
状态码说明
200Sync 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

401Error envelope
403Error envelope
404Error envelope
409Error envelope
429Error envelope
502Error envelope
503Error 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 参数
名称位置类型必填说明
idpathstring(uuid)是—
site_idpathstring(uuid)是—
hoursqueryinteger否1..retention; default 24

响应

getTenantCDNSiteUsage 响应
状态码说明
200Usage

字段: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

400Error envelope
401Error envelope
403Error envelope
404Error envelope
503Error 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 参数
名称位置类型必填说明
idpathstring(uuid)是—
site_idpathstring(uuid)是—

响应

retryTenantCDNSiteValidation 响应
状态码说明
200Sync 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

401Error envelope
403Error envelope
404Error envelope
409Error envelope
429Error envelope
502Error envelope
503Error 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_idquerystring(uuid)否one own website; another tenant's reads as 404
limitqueryinteger否1-200, default 50

响应

listTenantCDNSwitchEvents 响应
状态码说明
200Events

字段:items: array<SwitchEvent>

400Error envelope
401Error envelope
403Error envelope
404Error envelope
503Error envelope

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。
  • 401 检查凭据格式、是否过期或被轮换。
  • 403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。
  • 404 资源不存在或不属于当前租户。
  • 503 依赖暂不可用:稍后用原 Idempotency-Key 重试。

↑ 回到列表