---
updatedAt: 2026-03-01T18:30:34.000Z
agentTools:
  siteIndex: https://techdocs.akamai.com/llms.txt
  projectIndex: https://techdocs.akamai.com/edge-hostnames/llms.txt
---

# Get a certificate

```curl cURL
recordName="www.example.com"
dnsZone="edgesuite.net"

egcurl --eg-section default --request GET \
  --url "https://$hostname/hapi/v1/dns-zones/$dnsZone/edge-hostnames/$recordName/certificate" \
  --header "Accept: application/json" 
```

```node Node
const EdgeGrid = require("akamai-edgegrid");
const os = require("os");
const edgercPath = os.homedir + "/.edgerc.txt";
const edgercSection = "default";  
const eg = new EdgeGrid({
  path: edgercPath,
  section: edgercSection
});   

const recordName = "www.example.com";
const dnsZone = "edgesuite.net";

eg.auth({
  path: `/hapi/v1/dns-zones/${dnsZone}/edge-hostnames/${recordName}/certificate`,
  method: "GET",
  headers: {
    
    "Accept": "application/json"}                    
});
eg.send(function(error, response, body) {
  console.log(body);    
});
```

```python Python
import requests
from akamai.edgegrid import EdgeGridAuth, EdgeRc
from urlparse import urljoin

edgerc = EdgeRc('~/.edgerc.txt')
section = 'default'
baseurl = 'https://%s' % edgerc.get(section, 'host')

session = requests.Session()
session.auth = EdgeGridAuth.from_edgerc(edgerc, section)
recordName = "www.example.com"
dnsZone = "edgesuite.net"
 

path= '/hapi/v1/dns-zones/{}/edge-hostnames/{}/certificate'.format(dnsZone, recordName)
headers = {
  
  "Accept": "application/json"}  

result = session.get(urljoin(baseurl, path), headers=headers)
print(result.status_code)
print(result.json())
```

```json Response Example
{
    "certificateId": "1234",
    "commonName": "example.com",
    "serialNumber": "12:34:56:78:90:AB:CD:EF",
    "slotNumber": 8927,
    "expirationDate": "2019-10-31T23:59:59Z",
    "certificateType": "SAN",
    "validationType": "DOMAIN_VALIDATION",
    "status": "PENDING",
    "availableDomains": [
        "live.example.com",
        "secure.example.com",
        "www.example.com"
    ]
}
```

# Set up authorization

<!-- curl@0-100 -->
<!-- node@0-100 -->
<!-- python@0-100 -->

Before you can use this API, you need to [Create authentication credentials](https://techdocs.akamai.com/developer/docs/set-up-authentication-credentials). 

Then, you can use these code samples to apply the token values to your requests.

# Get the record name and DNS zone for the Enhanced-TLS edge hostname

<!-- curl@1-2 -->
<!-- node@10-11 -->
<!-- python@11-12 -->

Run the [List edge hostnames] (https://techdocs.akamai.com/edge-hostnames/recipes/list-edge-hostnames) operation, for Enhanced-TLS edge hostname that you are retrieving the certificate for. Note the `recordName` and `dnsZone` values.

# Form the URL

<!-- curl@1-2,5 -->
<!-- node@10-11,14 -->
<!-- python@11-12,15 -->

Enter the `recordName` and `dnsZone` values into the URL.

# Call the API

<!-- curl@1-100 -->
<!-- node@1-100 -->
<!-- python@1-100 -->

Call GET on the request URL.

# Review the response

<!-- curl@101 -->
<!-- node@101 -->
<!-- python@101 -->

The response returns certificate information and the available domains for the edge hostname:
- `certificateId`. Unique identifier string.
- `certificateType`. Certificate types are: 
    -`SAN`. Supports multiple domain names.
    -`SINGLE`. Associates with a single domain.
    -`THIRD_PARTY`. Uses a signed certificate that you obtain from a CA not integrated with Content Provisioning System (CPS).
    -`WILDCARD`. Secures an entire domain.
    -`WILDCARD_SAN`. Uses wildcard certificates with Subject Alternative Names.
- `commonName`. The hostname that the certificate is valid for, in addition to the hostnames in the list of available domains.
- `expirationDate`. The ISO–8601 timestamp the certificate expires.
- `serialNumber`. The unique identifier string for the certificate.
- `slotNumber`. The slot number for the ENHANCED-TLS edge hostname.
- `status`. The status of the certificate. It can be `PENDING`, `DEPLOYED`, or `EXPIRED`.
- `validationType`. Certificate validation types:
    -`DOMAIN_VALIDATION`. A lower level of validation. Ensures you have control of the domain. 
    -`ORGANIZATIONAL_VALIDATION`. A higher level of validation. Validates whether or not the company is valid, registered, and if the business contact works at the company. 
    -`THIRD_PARTY`. Third party certificates. 
    -`EXTENDED_VALIDATION`. The highest level of validation. Requires signed letters and notaries sent to the CA before signing. Wildcard certificates cannot be EV certificates.