Aliases

Change an alias. The hostname and the CDN resource of an alias cannot be changed; delete the alias and create a new one instead.

Set active to false to stop serving the alias; certificate issuance stops, though an attempt already being processed completes. Set it back to true to resume. Resuming an alias without a valid Let's Encrypt certificate starts a new issuance attempt, which is rate-limited, so it cannot be combined with automated in one request. A renewal stopped by the pause is started again by the scheduled renewal after the alias is resumed.

For an alias with your own certificate, pass a new certificate ID in ssl_id to replace it. The new certificate must cover the alias hostname.

Pass automated to switch how the certificate is managed. Switching to your own certificate takes effect at once and the Let's Encrypt certificate issued for the alias is removed. Switching to a Let's Encrypt certificate starts an issuance attempt while your certificate keeps being served, and the alias starts serving the new certificate once it is issued; if the attempt fails, ssl_status becomes failed and your certificate keeps being served. The certificate mode cannot be changed while the alias is paused — resume it first.

Pass challenge_type to change how the Let's Encrypt certificate's domain is validated. It cannot be changed while the alias is paused, or together with active. While no valid certificate is served, the change cancels the running issuance attempt and starts a new one; this is rate-limited like resuming, and is refused while that attempt is being processed. Otherwise the new method is used from the next attempt.

patch/cdn/aliases/{alias_id}

Request

  • Base URL
    https://api.gcore.com
  • URL
    https://api.gcore.com/cdn/aliases/{alias_id}
  • Auth
    HTTP apikey

Path parameters

alias_idinteger required

Alias ID.

Request body

activeboolean

Whether the alias is enabled.

Possible values:

  • true – The alias is enabled.
  • false – The alias is paused and is not served. Certificate issuance stops, though an attempt already being processed completes.
automatedboolean

How the alias certificate is managed. Change it to switch the alias between a Let's Encrypt certificate and your own. Cannot be changed while the alias is paused.

Possible values:

  • true – Switch to a Let's Encrypt certificate. ssl_id must be omitted. The current certificate keeps being served until the new one is issued.
  • false – Switch to your own certificate. ssl_id is required and is served immediately.
challenge_type'dns_01' | 'http_01'

Domain validation method used to issue the Let's Encrypt certificate for the alias.

Possible values:

  • dns_01 – Validation via a CNAME record for _acme-challenge.<alias hostname>, shown in ssl_provisioning.acme_delegation.
  • http_01 – Validation via an HTTP request to the alias hostname. The alias hostname must point to your CDN CNAME, shown in ssl_provisioning.http_validation. The request is served with the settings of the alias's CDN resource, so they must not block or redirect /.well-known/acme-challenge/.
ssl_idinteger

ID of your own SSL certificate to serve for the alias instead of the current one. The certificate must cover the alias hostname; a Let's Encrypt certificate issued for one of your CDN resources cannot be used. Available for an alias with automated set to false, and together with automated set to false to switch to your own certificate.

Example request

{
  "automated": true,
  "challenge_type": "http_01",
  "ssl_id": 891
}

Response

Successful.

idinteger

Alias ID.

cnamestring

Alias hostname. Cannot be changed after creation.

resource_idinteger

ID of the CDN resource whose settings the alias is served with. Cannot be changed after creation.

automatedboolean

How the alias certificate is managed. Can be changed while the alias is served.

Possible values:

  • true – A Let's Encrypt certificate is issued and renewed automatically.
  • false – The certificate referenced by ssl_id, if any, was added by you.
challenge_type'dns_01' | 'http_01'

Domain validation method used to issue the Let's Encrypt certificate for the alias.

Possible values:

  • dns_01 – Validation via a CNAME record for _acme-challenge.<alias hostname>, shown in ssl_provisioning.acme_delegation.
  • http_01 – Validation via an HTTP request to the alias hostname. The alias hostname must point to your CDN CNAME, shown in ssl_provisioning.http_validation. The request is served with the settings of the alias's CDN resource, so they must not block or redirect /.well-known/acme-challenge/.
ssl_idinteger nullable

ID of the SSL certificate served for the alias.

activeboolean

Whether you have enabled the alias.

Possible values:

  • true – The alias is enabled.
  • false – The alias is paused and is not served.
enabledboolean

Whether the alias is enabled by the system. Follows the state of the CDN resource.

Possible values:

  • true – The alias can be served.
  • false – The alias is not served because its CDN resource is not active.
status'inactive' | 'pending' | 'http_only' | 'active'

Alias status.

Possible values:

  • inactive – The alias or its CDN resource is disabled; the alias is not served.
  • pending – The alias configuration has not reached the CDN yet.
  • http_only – The alias is served over HTTP only.
  • active – The alias is served over HTTP and HTTPS.
ssl_status'pending' | 'issued' | 'failed' nullable

Outcome of the certificate we manage for the alias.

Possible values:

  • pending – A certificate attempt is in progress, or was stopped by pausing the alias and starts again after it is resumed.
  • issued – The latest attempt succeeded.
  • failed – The latest attempt ended without a certificate.
  • null – No certificate is managed for the alias: the alias uses a certificate you provided, or is automated and has never opened an attempt.
ssl_validity_not_afterstring nullable

Date and time when the served certificate expires (ISO 8601/RFC 3339 format, UTC). null while no certificate is served.

createdstring

Date and time when the alias was created (ISO 8601/RFC 3339 format, UTC).

updatedstring

Date and time when the alias was last changed (ISO 8601/RFC 3339 format, UTC).

Example response

{
  "id": 123,
  "cname": "shop.example.com",
  "resource_id": 4567,
  "automated": true,
  "challenge_type": "http_01",
  "ssl_id": 890,
  "active": true,
  "enabled": true,
  "status": "active",
  "ssl_status": "issued",
  "ssl_validity_not_after": "2027-01-01T10:00:00Z",
  "created": "2026-09-01T10:00:00Z",
  "updated": "2026-09-01T10:05:00Z",
  "ssl_provisioning": {
    "acme_delegation": {
      "cname_name": "_acme-challenge.shop.example.com",
      "cname_target": "0a1b2c3d4e5f6789.le-challenges.example.net"
    },
    "http_validation": {
      "cname_name": "_acme-challenge.shop.example.com",
      "cname_target": "0a1b2c3d4e5f6789.le-challenges.example.net"
    }
  }
}

Changes

    • breaking

      the // response's property type changed from object to no type for status

    • warning

      removed the optional property /// from the response with the status

    • warning

      removed the optional property /// from the response with the status

    • warning

      added the new http_only enum value to the //// response property for the response status

    • info

      added the new optional request property

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added to the // response property allOf list for the response status

    • info

      removed the ssl_error enum value from the //// response property for the response status

    • info

      removed the ssl_issuing enum value from the //// response property for the response status

    • breaking

      the response's body type changed from object to no type for status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property from the response with the status

    • info

      added the new optional request property

    • info

      added subschema #2 to the response body allOf list for the response status

    • info

      added the non-success response with the status