import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
alias_detail = client.cdn.aliases.retry_certificate(
0,
)
print(alias_detail)package main
import (
"context"
"fmt"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/option"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
aliasDetail, err := client.CDN.Aliases.RetryCertificate(context.TODO(), 0)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", aliasDetail)
}
curl --request POST \
--url https://api.gcore.com/cdn/aliases/{alias_id}/retry \
--header 'Authorization: <api-key>'const options = {method: 'POST', headers: {Authorization: '<api-key>'}};
fetch('https://api.gcore.com/cdn/aliases/{alias_id}/retry', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gcore.com/cdn/aliases/{alias_id}/retry",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api.gcore.com/cdn/aliases/{alias_id}/retry")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cdn/aliases/{alias_id}/retry")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"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": "shop.example.com",
"cname_target": "cl-1a2b3c.cdn.example.net"
}
}
}{
"errors": {
"field_name": [
"Error description."
]
}
}Retry alias certificate issuance
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.
import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
alias_detail = client.cdn.aliases.retry_certificate(
0,
)
print(alias_detail)package main
import (
"context"
"fmt"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/option"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
aliasDetail, err := client.CDN.Aliases.RetryCertificate(context.TODO(), 0)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", aliasDetail)
}
curl --request POST \
--url https://api.gcore.com/cdn/aliases/{alias_id}/retry \
--header 'Authorization: <api-key>'const options = {method: 'POST', headers: {Authorization: '<api-key>'}};
fetch('https://api.gcore.com/cdn/aliases/{alias_id}/retry', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gcore.com/cdn/aliases/{alias_id}/retry",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api.gcore.com/cdn/aliases/{alias_id}/retry")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cdn/aliases/{alias_id}/retry")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"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": "shop.example.com",
"cname_target": "cl-1a2b3c.cdn.example.net"
}
}
}{
"errors": {
"field_name": [
"Error description."
]
}
}Authorizations
API key for authentication. Make sure to include the word apikey, followed by a single space and then your token.
Example: apikey 1234_abcdef
Path Parameters
Alias ID.
Response
Successful.
Alias ID.
123
Alias hostname. Cannot be changed after creation.
"shop.example.com"
ID of the CDN resource whose settings the alias is served with. Cannot be changed after creation.
4567
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 byssl_id, if any, was added by you.
true
Domain validation method used to issue the Let's Encrypt certificate for the alias. null when automated is false.
dns_01, http_01 "http_01"
ID of the SSL certificate served for the alias.
890
Whether you have enabled the alias.
Possible values:
true– The alias is enabled.false– The alias is paused and is not served.
true
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.
true
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.
inactive, pending, http_only, active "active"
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.
pending, issued, failed "issued"
Date and time when the served certificate expires (ISO 8601/RFC 3339 format, UTC). null while no certificate is served.
"2027-01-01T10:00:00Z"
Date and time when the alias was created (ISO 8601/RFC 3339 format, UTC).
"2026-09-01T10:00:00Z"
Date and time when the alias was last changed (ISO 8601/RFC 3339 format, UTC).
"2026-09-01T10:05:00Z"
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.
Show child attributes
Show child attributes
Was this page helpful?