MethodPathSummaryAuth
GET/v1/admin/cname-labels/{kind}/{id}Read the administrator-defined CNAME host name or prefixSession
PUT/v1/admin/cname-labels/{kind}/{id}Set the administrator-defined CNAME host name or prefixSession
GET/v1/admin/cname-labels/{kind}/{id}/affectedCount the sites that regenerating under the current prefix would changeSession
POST/v1/admin/cname-labels/{kind}/{id}/regenerateRe-allocate the CNAME of every affected site under the current prefixSession

Contract file:api/openapi/v1/control.yaml

Operation details

GET /v1/admin/cname-labels/{kind}/{id}

Read the administrator-defined CNAME host name or prefix

operationId
getCNAMELabel
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

The contract has no separate permission annotation; see the description below and the 403 response.

Description (from the contract)

Platform session only; a tenant session answers 403 permission_denied. kind site needs sites.manage, package-subscription package_subscriptions.manage, package-product packages.manage, line-group node_scheduling.manage. site and package-subscription hold a complete host name (shop gives shop.<CNAME domain>); package-product and line-group hold a prefix (gd gives gd-xxxxxxxx.<CNAME domain>, at most 54 characters). Lowercase letters, digits and hyphens, not starting or ending with a hyphen. Errors: cname_label_invalid 400, cname_label_reserved 400, cname_label_taken 409, cname_label_follows_package 409 (a site that follows its sold package).

Parameters

getCNAMELabel Parameters
NameInTypeRequiredDescription
kindpathstring: site / package-subscription / package-product / line-groupYes—
idpathstring(uuid)Yes—

Responses

getCNAMELabel Responses
StatusDescription
200The stored value; empty when none is set.

Fields:label: string

400The request body or parameters are invalid.
401Authentication failed or the session is invalid.
403The authenticated principal is not allowed to perform the action.
404The requested resource was not found.
500The request could not be completed because of an internal failure.

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 404 The resource does not exist or belongs to another tenant.
  • 500 Outcome unknown: read back by ID or list first, then decide whether to retry with the original Idempotency-Key.

↑ Back to list

PUT /v1/admin/cname-labels/{kind}/{id}

Set the administrator-defined CNAME host name or prefix

operationId
putCNAMELabel
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

The contract has no separate permission annotation; see the description below and the 403 response.

Description (from the contract)

Platform session only; a tenant session answers 403 permission_denied. kind site needs sites.manage, package-subscription package_subscriptions.manage, package-product packages.manage, line-group node_scheduling.manage. site and package-subscription hold a complete host name (shop gives shop.<CNAME domain>); package-product and line-group hold a prefix (gd gives gd-xxxxxxxx.<CNAME domain>, at most 54 characters). Lowercase letters, digits and hyphens, not starting or ending with a hyphen. Errors: cname_label_invalid 400, cname_label_reserved 400, cname_label_taken 409, cname_label_follows_package 409 (a site that follows its sold package). Setting a site or sold package name re-allocates the CNAME of that object at once (a new generation, DNS synchronised, the old record retired). A product or line group prefix only shapes CNAMEs allocated later. An empty label clears the value.

Parameters

putCNAMELabel Parameters
NameInTypeRequiredDescription
kindpathstring: site / package-subscription / package-product / line-groupYes—
idpathstring(uuid)Yes—
Idempotency-KeyheaderstringYes—

Request body

application/json · Required:Yes

putCNAMELabel Request body
NameTypeRequiredDescription
labelstringYes—

Responses

putCNAMELabel Responses
StatusDescription
200The stored value and the number of sites re-allocated.

Fields:label: string regenerated: integer

400The request body or parameters are invalid.
401Authentication failed or the session is invalid.
403The authenticated principal is not allowed to perform the action.
404The requested resource was not found.
409The requested state conflicts with an existing resource or idempotency fact.
500The request could not be completed because of an internal failure.

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 404 The resource does not exist or belongs to another tenant.
  • 409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.
  • 500 Outcome unknown: read back by ID or list first, then decide whether to retry with the original Idempotency-Key.

↑ Back to list

GET /v1/admin/cname-labels/{kind}/{id}/affected

Count the sites that regenerating under the current prefix would change

operationId
countCNAMELabelAffected
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

The contract has no separate permission annotation; see the description below and the 403 response.

Description (from the contract)

Only for kind package-product and line-group. Sites with their own name, a sold package name or a legacy product host name are not counted.

Parameters

countCNAMELabelAffected Parameters
NameInTypeRequiredDescription
kindpathstring: site / package-subscription / package-product / line-groupYes—
idpathstring(uuid)Yes—

Responses

countCNAMELabelAffected Responses
StatusDescription
200Number of affected sites.

Fields:sites: integer

400The request body or parameters are invalid.
401Authentication failed or the session is invalid.
403The authenticated principal is not allowed to perform the action.
404The requested resource was not found.
500The request could not be completed because of an internal failure.

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 404 The resource does not exist or belongs to another tenant.
  • 500 Outcome unknown: read back by ID or list first, then decide whether to retry with the original Idempotency-Key.

↑ Back to list

POST /v1/admin/cname-labels/{kind}/{id}/regenerate

Re-allocate the CNAME of every affected site under the current prefix

operationId
regenerateCNAMELabelSites
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

The contract has no separate permission annotation; see the description below and the 403 response.

Description (from the contract)

Only for kind package-product and line-group. Read the count with the affected route and confirm first. Sites of one sold package share one new CNAME.

Parameters

regenerateCNAMELabelSites Parameters
NameInTypeRequiredDescription
kindpathstring: site / package-subscription / package-product / line-groupYes—
idpathstring(uuid)Yes—
Idempotency-KeyheaderstringYes—

Responses

regenerateCNAMELabelSites Responses
StatusDescription
200Number of sites queued for re-allocation.

Fields:sites: integer

400The request body or parameters are invalid.
401Authentication failed or the session is invalid.
403The authenticated principal is not allowed to perform the action.
404The requested resource was not found.
409The requested state conflicts with an existing resource or idempotency fact.
500The request could not be completed because of an internal failure.

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 404 The resource does not exist or belongs to another tenant.
  • 409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.
  • 500 Outcome unknown: read back by ID or list first, then decide whether to retry with the original Idempotency-Key.

↑ Back to list