方法路径摘要认证
GET/v1/admin/site-publicationsList publications for one tenant scope登录会话
POST/v1/admin/site-publicationsPublish the current Site/L4 revision to an immutable target snapshot登录会话
GET/v1/admin/site-publications/{publication_id}Get one publication in an explicit tenant scope登录会话
POST/v1/admin/site-publications/{publication_id}/rollbackRoll selected nodes back to their direct previous published configuration登录会话

契约文件:api/control-site-publications.openapi.yaml

接口详情

GET /v1/admin/site-publications

List publications for one tenant scope

operationId
listAdminSitePublications
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:edge_publications.read

说明(契约原文)

Requires a platform-scoped principal with edge_publications.read. The opaque keyset cursor is bound to the tenant scope and stable ordering.

参数

listAdminSitePublications 参数
名称位置类型必填说明
scope_idquerystring(uuid)是Platform route target tenant access-scope UUID.
limitqueryinteger否—
cursorquerystring否Versioned base64url HMAC-SHA256 envelope returned by the immediately preceding page. It is bound to audience, resolved tenant scope, resource kind, and the rollout ID for deployment pages. It cannot be reused across those boundaries or modified.

响应

listAdminSitePublications 响应
状态码说明
200Stable publication page. Response body is limited to 1 MiB.

字段:items: array<AdminPublication> current_source_revision: integer(int64) next_cursor?: string pending_modules?: array<PendingModule> automatic_failure?: AutomaticPublicationFailure

400Invalid UUID, RFC3339 value, enum, cursor, header, query, or JSON body.
401Authentication is missing or invalid.
403Wrong audience, missing permission, or tenant scope override.
503Storage, signing, cancellation, response validation, or another internal dependency is unavailable.

失败时怎么办

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

↑ 回到列表

POST /v1/admin/site-publications

Publish the current Site/L4 revision to an immutable target snapshot

operationId
publishSiteConfiguration
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:edge_publications.manage

说明(契约原文)

Requires a platform-scoped principal with edge_publications.manage. Exactly one nodes or line_group_snapshot target is accepted. The domain service performs source revision CAS, target eligibility checks, local non-grace entitlement verification, canonical compilation, signing, config/rollout/deployment/outbox persistence, idempotency, and success audit in one transaction. An unknown write result may be retried only with the same Idempotency-Key and original business payload.

参数

publishSiteConfiguration 参数
名称位置类型必填说明
Idempotency-Keyheaderstring是Stable for the frozen business payload. Request, correlation, trace, and task identifiers may change on an identical retry.
X-Request-IDheaderstring(uuid)是—
Traceparentheaderstring是—
X-Correlation-IDheaderstring(uuid)否Defaults to X-Request-ID when omitted.
X-Task-IDheaderstring否—

请求体

application/json · 必填:是

publishSiteConfiguration 请求体
名称类型必填说明
configuration_scope_idstring(uuid)是—
expected_source_revisioninteger(int64)是—
targetExplicitNodeTarget | LineGroupSnapshotTarget是—
health_checkHealthCheck是—
rolloutRolloutPolicyInput否Progressive policy for a target frozen at publication time. Nodes are ordered by UUID bytes, then assigned to the canary and fixed-size cohorts. Commands outside the released cohort remain held. The failure threshold is an absolute failed-node count within the current cohort; reaching it pauses the rollout.
max_attemptsinteger是—
deadlinestring(date-time)是Future RFC3339 deployment deadline.

响应

publishSiteConfiguration 响应
状态码说明
201Created publication, or the stored result of an identical retry.

字段:id: string(uuid) configuration_scope_id: string(uuid) source_revision: integer(int64) config_version_id: string(uuid) rollout_id: string(uuid) canonical_source_sha256: string artifact_sha256: string target: object | object node_count: integer created_at: string(date-time) replayed?: boolean

400Invalid UUID, RFC3339 value, enum, cursor, header, query, or JSON body.
401Authentication is missing or invalid.
403Wrong audience, missing permission, or tenant scope override.
409Idempotency, target snapshot, rollout state, active deployment, or retry conflict.
412The source or rollout expected revision is stale.
422Entitlement or target/resource readiness prevents publication.
503Storage, signing, cancellation, response validation, or another internal dependency is unavailable.

失败时怎么办

  • 400 按字段说明修正参数或请求体再发;不要原样重试。
  • 401 检查凭据格式、是否过期或被轮换。
  • 403 检查 Key 范围与所有者当前权限、当前租户作用域;不要换更高权限账号绕过。
  • 409 先回读资源当前状态;同一操作重试保持原 Idempotency-Key 和原请求内容。
  • 412 版本已变:回读最新 ETag 后重新判断,再带新的 If-Match 提交。
  • 503 依赖暂不可用:稍后用原 Idempotency-Key 重试。

↑ 回到列表

GET /v1/admin/site-publications/{publication_id}

Get one publication in an explicit tenant scope

operationId
getAdminSitePublication
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:edge_publications.read

参数

getAdminSitePublication 参数
名称位置类型必填说明
publication_idpathstring(uuid)是—
scope_idquerystring(uuid)是Platform route target tenant access-scope UUID.

响应

getAdminSitePublication 响应
状态码说明
200Platform publication detail.

字段:id: string(uuid) configuration_scope_id: string(uuid) source_revision: integer(int64) config_version_id: string(uuid) rollout_id: string(uuid) canonical_source_sha256: string artifact_sha256: string target: object | object node_count: integer created_at: string(date-time) replayed?: boolean

400Invalid UUID, RFC3339 value, enum, cursor, header, query, or JSON body.
401Authentication is missing or invalid.
403Wrong audience, missing permission, or tenant scope override.
404Resource is absent in the authorized tenant scope. Cross-tenant IDs use the same response.
503Storage, signing, cancellation, response validation, or another internal dependency is unavailable.

失败时怎么办

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

↑ 回到列表

POST /v1/admin/site-publications/{publication_id}/rollback

Roll selected nodes back to their direct previous published configuration

operationId
rollbackSitePublication
认证
  • 登录会话:主控登录后的 Bearer 会话,由客户本人在自己的主控里使用;插件不能要求客户交出会话。
所需权限

全部需要:edge_publications.manage

说明(契约原文)

Creates a rollback rollout for the immutable configuration referenced by the selected publication. Every selected node must currently name that configuration as its direct previous version. No new configuration or artifact bytes are created, and rollback remains available when an entitlement no longer permits expansion.

参数

rollbackSitePublication 参数
名称位置类型必填说明
publication_idpathstring(uuid)是—
Idempotency-Keyheaderstring是Stable for the frozen business payload. Request, correlation, trace, and task identifiers may change on an identical retry.
X-Request-IDheaderstring(uuid)是—
Traceparentheaderstring是—
X-Correlation-IDheaderstring(uuid)否Defaults to X-Request-ID when omitted.
X-Task-IDheaderstring否—

请求体

application/json · 必填:是

rollbackSitePublication 请求体
名称类型必填说明
configuration_scope_idstring(uuid)是—
targetExplicitNodeTarget | LineGroupSnapshotTarget是—
health_checkHealthCheck是—
rolloutRolloutPolicyInput否Progressive policy for a target frozen at publication time. Nodes are ordered by UUID bytes, then assigned to the canary and fixed-size cohorts. Commands outside the released cohort remain held. The failure threshold is an absolute failed-node count within the current cohort; reaching it pauses the rollout.
max_attemptsinteger是—
deadlinestring(date-time)是Future RFC3339 rollback deadline.

响应

rollbackSitePublication 响应
状态码说明
201Created rollback rollout, or the stored result of an identical retry.

字段:publication_id: string(uuid) configuration_scope_id: string(uuid) config_version_id: string(uuid) rollout_id: string(uuid) action: string target: object | object node_count: integer created_at: string(date-time) replayed?: boolean

400Invalid UUID, RFC3339 value, enum, cursor, header, query, or JSON body.
401Authentication is missing or invalid.
403Wrong audience, missing permission, or tenant scope override.
404Resource is absent in the authorized tenant scope. Cross-tenant IDs use the same response.
409Idempotency, target snapshot, rollout state, active deployment, or retry conflict.
422Entitlement or target/resource readiness prevents publication.
503Storage, signing, cancellation, response validation, or another internal dependency is unavailable.

失败时怎么办

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

↑ 回到列表