---
title: "Retry alias certificate issuance"
method: POST
path: "/cdn/aliases/{alias_id}/retry"
tags: ["Aliases"]
---

# Retry alias certificate issuance

`POST /cdn/aliases/{alias_id}/retry`

## Request

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

Start a new Let's Encrypt certificate issuance attempt for an alias that has none running. Use it after an attempt has failed and `ssl_status` is `failed`.

The number of attempts you can start per hour is limited.

## Path parameters

- `alias_id` integer, required

## Response `201`

Successful.

- AliasDetail
  - `id` integer: Alias ID.
  - `cname` string: Alias hostname. Cannot be changed after creation.
  - `resource_id` integer: ID of the CDN resource whose settings the alias is served with. Cannot be changed after creation.
  - `automated` boolean: 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_id` integer, nullable: ID of the SSL certificate served for the alias.
  - `active` boolean: Whether you have enabled the alias. Possible values: - `true` – The alias is enabled. - `false` – The alias is paused and is not served.
  - `enabled` boolean: 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_after` string, nullable: Date and time when the served certificate expires (ISO 8601/RFC 3339 format, UTC). `null` while no certificate is served.
  - `created` string: Date and time when the alias was created (ISO 8601/RFC 3339 format, UTC).
  - `updated` string: Date and time when the alias was last changed (ISO 8601/RFC 3339 format, UTC).
  - `ssl_provisioning` object, nullable: DNS record needed for Let's Encrypt domain validation of the alias hostname. It is `null` when `automated` is `false`, and when `challenge_type` is `dns_01` until a delegation record has been prepared for the hostname.
    - `acme_delegation` AliasCnameRecord
      - `cname_name` string: Hostname to create the CNAME record for.
      - `cname_target` string: Value the CNAME record must point to.
    - `http_validation` AliasCnameRecord
      - `cname_name` string: Hostname to create the CNAME record for.
      - `cname_target` string: Value the CNAME record must point to.

## Other responses

- `400`: Issuance cannot be started. The alias serves a certificate you added yourself, is paused, already has a valid certificate, or an attempt is already running.
- `403`: Aliases are not enabled for your account.
- `404`: The alias does not exist.
- `429`: Too many certificate issuance attempts have been started for the alias.

## Changes

- **2026-10-21** `d034c0d6d6ff`: 1 breaking, 3 warning, 5 info
  - the `allOf[subschema #2]/ssl_provisioning/acme_delegation` response's property type changed from `object` to no type for status `201`
  - removed the optional property `allOf[subschema #2]/ssl_provisioning/acme_delegation/cname_name` from the response with the `201` status
  - removed the optional property `allOf[subschema #2]/ssl_provisioning/acme_delegation/cname_target` from the response with the `201` status
  - added the new `http_only` enum value to the `allOf[#/components/schemas/Alias]/status` response property for the response status `201`
  - …5 more
- **2026-09-28** `9b685d687b49`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/g-core/apis/gcore-openapi/changes/cdn/aliases/:alias_id/retry/post.md)

---

[API](https://skmtc.dev/g-core/apis/gcore-openapi.md) - [All operations](https://skmtc.dev/g-core/apis/gcore-openapi/llms.txt) - [OpenAPI document](https://skmtc.dev/g-core/apis/gcore-openapi/revisions/a2b772345f3a?raw)
