Create an Endpoint API Key - Cognigy Documentation
Create an Endpoint API Key
API Request
POST /v2.0/endpoints/{endpointId}/apikeys
Example cURL Command
curl --request POST \
--url https://api-trial.cognigy.ai/new/v2.0/endpoints/{endpointId}/apikeys \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '{
"name": "My CRM webhook"
}'
Python Example
import requests
url = "https://api-trial.cognigy.ai/new/v2.0/endpoints/{endpointId}/apikeys"
payload = { "name": "My CRM webhook" }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
JavaScript (Fetch) Example
const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'My CRM webhook'})
};
fetch('https://api-trial.cognigy.ai/new/v2.0/endpoints/{endpointId}/apikeys', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
PHP Example
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-trial.cognigy.ai/new/v2.0/endpoints/{endpointId}/apikeys",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([\
'name' => 'My CRM webhook'\
]),
CURLOPT_HTTPHEADER => [\
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Responses
Success Response
{
"key": "8a4fcd9b2e5f17b03f9c4a6d7c2e5f17b03f9c4a6d7c2e5f17b03f9c4a6d7c2e",
"_id": "<string>",
"name": "My CRM webhook",
"keyPreview": "8a4f••••••••7c2e",
"createdAt": 1694518620
}
Error Responses
Unauthorized Error
{
"type": "Unauthorized",
"title": "Unauthorized Error",
"status": 401,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 401,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}
Payment Required Error
{
"type": "Payment Required",
"title": "Payment Required Error",
"status": 402,
"detail": "Validation failed. Missing payload.",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 402,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}
Other Error Types
{
"type": "Method Not Allowed",
"title": "Method Not Allowed Error",
"status": 405,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}
{
"type": "Payload Too Large",
"title": "Payload Too Large Error",
"status": 413,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}
{
"type": "Internal Server Error",
"title": "Internal Server Error",
"status": 500,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}