Set Up an Identity Provider - Cognigy Documentation
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
POST /v2.0/identityprovider/configure
Try it
Set Up an Identity Provider
cURL
curl --request POST \
--url https://api-trial.cognigy.ai/new/v2.0/identityprovider/configure \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"idpType": "saml",
"idpIssuer": "<string>",
"idpLoginEndpoint": "<string>",
"idpLogoutEndpoint": "<string>",
"idpCertificate": "<string>",
"wantAuthnResponseSigned": true,
"decryptionPrivateKey": "<string>",
"idpDisableRequestedAuthnContext": false
}
'
Python
import requests
url = "https://api-trial.cognigy.ai/new/v2.0/identityprovider/configure"
payload = {
"idpType": "saml",
"idpIssuer": "<string>",
"idpLoginEndpoint": "<string>",
"idpLogoutEndpoint": "<string>",
"idpCertificate": "<string>",
"wantAuthnResponseSigned": True,
"decryptionPrivateKey": "<string>",
"idpDisableRequestedAuthnContext": False
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
JavaScript (Fetch API)
const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
idpType: 'saml',
idpIssuer: '<string>',
idpLoginEndpoint: '<string>',
idpLogoutEndpoint: '<string>',
idpCertificate: '<string>',
wantAuthnResponseSigned: true,
decryptionPrivateKey: '<string>',
idpDisableRequestedAuthnContext: false
})
};
fetch('https://api-trial.cognigy.ai/new/v2.0/identityprovider/configure', 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-trial.cognigy.ai/new/v2.0/identityprovider/configure",
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([
'idpType' => 'saml',
'idpIssuer' => '<string>',
'idpLoginEndpoint' => '<string>',
'idpLogoutEndpoint' => '<string>',
'idpCertificate' => '<string>',
'wantAuthnResponseSigned' => true,
'decryptionPrivateKey' => '<string>',
'idpDisableRequestedAuthnContext' => false
]),
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;
}
Error Messages
- 400: Bad Request
- 401: Unauthorized
- 402: Payment Required
- 403: Forbidden
- 404: Not Found
- 405: Method Not Allowed
- 409: Conflict
- 413: Payload Too Large
- 500: Internal Server Error
- 501: Not Implemented
- 502: Bad Gateway
- 503: Service Unavailable
- 504: Gateway Timeout
Response Codes
{
"type": "Bad Request",
"title": "Bad Request Error",
"status": 400,
"detail": "Validation failed. Missing payload.",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}
Authorizations
APIKeyHeader
- X-API-Key
Type: string
Location: header
Required: Supply the API Key in the HTTP-Header
Headers
- Accept: enum
TheAcceptheader specifies the media type that the client expects in the response. Available options:application/json,application/hal+json,application/xml,text/xml,text/csv. The default value isapplication/json.
Body
idpType (enum
)
Available options:saml
idpIssuer (string
)
The value that will be in the issuer field in the SAML request.idpLoginEndpoint (string
)
The URL to use to login in the IDP. Used in the SP initiated Flow.idpLogoutEndpoint (string
)
The URL to send SLO requests against. Not all identity providers support this.idpCertificate (string)
The certificate from the ID used to sign the SAML requests. It is base64 encoded.wantAuthnResponseSigned (boolean)
If the SAML authentication response should be signed, not all providers support this.decryptionPrivateKey (string)
An optional decryption key. This is necessary if the SAML request is encoded.idpDisableRequestedAuthnContext (boolean)
default: false
For some providers, e.g. Azure on-prem, it might be necessary to disable the authn context field in the SAML request.
Response
- 204: The identity provider was configured for your organisation.