--- title: "Create AuthKey" source_url: https://dev.digicert.com/certcentral-apis/services-api/account/create-authkey.html api_method: POST api_endpoint: "/services/v2/account/auth-key" api_url: "https://www.digicert.com/services/v2/account/auth-key" --- **POST** `https://www.digicert.com/services/v2/account/auth-key` Use this endpoint to create an AuthKey (without a validity period) for your DigiCert CertCentral® account. The same AuthKey can be used for all your DV certificate orders. > **Info** > > If you attempt to create an AuthKey (without a validity period) and an AuthKey is already in use, a `400 Bad Request` is returned with the `auth_key_exists_for_account` error. Additionally, you can create AuthKeys with a defined validity period, often referred to as Time-to-Live (TTL) AuthKeys. It is possible to create multiple such AuthKeys, with a minimum validity of 1 day and no upper limit on the maximum duration. To create TTL AuthKeys, use the following method and URL: `POST https://www.digicert.com/services/v2/account/auth-key/{days}` ## Example requests and responses **cURL (without validity)** ```bash curl -X POST \ https://www.digicert.com/services/v2/account/auth-key \ -H 'Content-Type: application/json' \ -H 'X-DC-DEVKEY: {{api_key}}' ``` **cURL (with validity)** ```bash curl -X POST \ https://www.digicert.com/services/v2/account/auth-key/{days} \ -H 'Content-Type: application/json' \ -H 'X-DC-DEVKEY: {{api_key}}' ``` **Python** ```python import requests url = "https://www.digicert.com/services/v2/account/auth-key" payload = "" headers = { 'X-DC-DEVKEY': "{{api_key}}", 'Content-Type': "application/json" } response = requests.request("POST", url, data=payload, headers=headers) print(response.text) ``` **Go** ```go package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "https://www.digicert.com/services/v2/account/auth-key" req, _ := http.NewRequest("POST", url, nil) req.Header.Add("X-DC-DEVKEY", "{{api_key}}") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` **NodeJS** ```javascript var request = require("request"); var options = { method: 'POST', url: 'https://www.digicert.com/services/v2/account/auth-key', headers: { 'Content-Type': 'application/json', 'X-DC-DEVKEY': '{{api_key}}' } }; request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body); }); ``` ## 200 OK ```json { "auth_key_id": "{{auth_key_id}}", "auth_key": "{{auth_key}}" "expiration_datetime": "2025-06-06T18:24:09+00:00" } ``` ## Response parameters
| Name | Type | Description |
|---|---|---|
| auth_key_id | string | ID of the created AuthKey. |
| auth_key | string | Your CertCentral account's AuthKey. |
| expiration_datetime | string | UTC timestamp (ISO 8601 format) representing the expiration date and time of the AuthKey. Note: expiration_datetime parameter is not included in the response if you create an AuthKey without a validity period. Time-to-Live (TTL) AuthKeys include the expiration_datetime parameter to specify their expiration timestamp. |