Download OpenAPI specification:
Most of the API calls that Horizon uses require you to be authenticated to the API. The first authentication can either be done through the use of an X509 certificate or using credentials of a local account, but every single API call afterward will need to bear the authentication information nonetheless. Regardless of the chosen authentication method, the authorization used must have sufficient permissions to perform the desired operation.
This method of authentication requires you to send your Horizon local account credentials as HTTP headers.
To check whether the credentials are correct, you can perform a GET request on /api/v1/security/principals/self and check for the response status :
$ curl https://horizon.evertrust.fr/api/v1/security/principals/self -H "X-API-ID: administrator" -H "X-API-KEY: horizon" -H "Accept: application/json"
Possible responses are:
| HTTP Response code | Additional information |
|---|---|
| 200 | The login information were correct |
| 401 | Authentication error, please refer to the response body for more details |
This method of authentication requires to have a created authorization based on an X509 certificate that has the clientAuth EKU. It also requires you to have imported the CA that issued this certificate in Horizon and turning on the "Trusted for client authentication" switch on that CA. You must then present the certificate on the request you are performing.
To check for the authentication, you can perform a GET request on /api/v1/security/principals/self :
$ curl https://horizon.evertrust.fr/api/v1/security/principals/self --cert horizon-login-dev-guide.pem --key horizon-login-dev-guide.key -H "Accept: application/json"
Possible responses are:
| HTTP Response code | Additional information |
|---|---|
| 200 | The login information were correct |
| 401 | Authentication error, please refer to the response body for more details |
Once the first authentication is done, the API generates a cookie called "PLAY_SESSION". This cookie holds the authentication information that was used to make the first login (using either previously mentioned method). To save its value for later use, just append the -c cookies.txt to either of the previous curl requests. Instead of using the credentials as headers or passing the certificate at each API call, you can use the cookie :
$ curl https://horizon.evertrust.fr/api/v1/security/principals/self -b cookies.txt -H "Accept: application/json"
Our api are used by a frontend and require a CSRF protection. A CSRF token validation is needed when all of the following are true:
Receiving the following response with valid credentials can mean that your request has failed the CSRF token validation:
{
"error": "SEC-AUTH-002",
"message": "Invalid credentials or principal does not exist",
"title": "Invalid credentials or principal does not exist",
"status": 401
}
To avoid the CSRF token validation in api usage:
If you cannot avoid those cases, the following procedure explains how to handle the CSRF token validation.
First you will have to retrieve a valid cookie CSRF token from the server.
$ curl https://horizon.evertrust.fr/api/v1/security/principals/self --header 'X-API-ID:administrator' --header 'X-API-KEY:horizon' -c cookies.txt
Once done the file cookies.txt should have two entries:
localhost FALSE / FALSE 0 csrf-token 456aa18162e8736047dbd878617283aa361cd83e-1708941483170-da503a15304a666a96748f5d
localhost FALSE / FALSE 1708942383 PLAY_SESSION eyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImlkZW50aWZpZXIiOiJhZG1pbmlzdHJhdG9yIiwibmFtZSI6Ikhvcml6b24gQWRtaW5pc3RyYXRvciIsImlkcFR5cGUiOiJMb2NhbCIsImlkcE5hbWUiOiJsb2NhbCJ9LCJleHAiOjE3MDg5NDIzODMsIm5iZiI6MTcwODk0MTQ4MywiaWF0IjoxNzA4OTQxNDgzfQ.79xRjdGhaVv_5mM8bpkLgcL78QCEWu08zgthP_dt9Pc
To successfully authenticate to the server, both the csrf-token cookie and a csrf-token header containing the cookie content should be defined.
Sending a POST request using cookies without the csrf-token header will result in the forbidden html page:
curl --location 'localhost:9000/api/v1/certificate/labels' \
--header 'X-API-ID: administrator' \
--header 'X-API-KEY: evertrust' \
--header 'Content-Type: application/json' \
-b cookies.txt \
--data '{
"name": "NEW_LABEL",
"displayName" : [],
"description": []
}'
A valid authentication also copies the content in the csrf-token header:
curl --location 'localhost:9000/api/v1/certificate/labels' \
--header 'X-API-ID: administrator' \
--header 'X-API-KEY: evertrust' \
--header 'csrf-token: 456aa18162e8736047dbd878617283aa361cd83e-1708941483170-da503a15304a666a96748f5d' \
--header 'Content-Type: application/json' \
--data '{
"name": "NEW_LABEL",
"regex": null,
"displayName" : [],
"description": []
}'
The Certificate object represents a certificate that is known to Horizon. Horizon can manage its compliance with your corporate policies, and can also manage its lifecycle. A certificate can either be issued through Horizon or be discovered by a third-party client, such as horizon-cli. You won't be able to directly issue certificates through this API, but you'll need to use the Requests API instead.
List certificate(s) matching any ID sent
The list of certificates IDs to fetch
The certificate id
[- "644796623000003800cc6c4b"
][- {
- "certificate": {
- "_id": "6448d56b310000400063f014",
- "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "notAfter": 1609459200000,
- "thumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "revocationDate": 0,
- "certificate": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "grades": [
- {
- "name": "Horizon-Grading-Policy",
- "grade": "A"
}
], - "revoked": true,
- "escrowed": true,
- "issuer": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "notBefore": 1609459200000,
- "crlSynchronized": true,
- "selfSigned": false,
- "discoveredTrusted": true,
- "keyType": "rsa-2048",
- "thirdPartyData": [
- {
- "connector": "F5_connector",
- "id": "hrz-hrz-1099-2dc61ac089ddeaab6efab34",
- "fingerprint": "hrz-hrz-1099-2dc61ac089ddeaab6efab34.1681397142139.crt",
- "pushDate": 1681397145000,
- "removeDate": 1681497145000
}
], - "owner": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "contactEmail": "user@example.com",
- "module": "webra",
- "profile": "DefaultProfile",
- "team": "string",
- "holderId": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "discoveryInfo": [
- {
- "campaign": "zone_1_discovery",
- "lastDiscoveryDate": 1683988841000,
- "identifier": "CN=horizon-cli"
}
], - "subjectAlternateNames": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "serial": "1",
- "signingAlgorithm": "SHA256WITHRSA",
- "discoveryData": [
- {
- "ip": "192.168.1.66",
- "sources": [
- "netscan"
], - "hostnames": [
- "docs.evertrust.fr"
], - "operatingSystems": [
- "windows"
], - "paths": [
- "/etc/ssl/cert.crt"
], - "usages": [
- "/usr/local/nginx/conf/nginx.conf"
], - "tlsPorts": [
- {
- "port": 443,
- "version": "TLSv1.2"
}
]
}
], - "revocationReason": "string"
}, - "permissions": {
- "enroll": true,
- "requestEnroll": true,
- "revoke": true,
- "requestRevoke": true,
- "update": true,
- "requestUpdate": true,
- "recover": true,
- "requestRecover": true,
- "migrate": true,
- "requestMigrate": true,
- "renew": true,
- "requestRenew": true
}
}
]Retrieves a specific certificate based on its ID
| id required | string[0-9a-fA-F]{24} Example: 644796623000003800cc6c4b The ID of the certificate to retrieve |
{- "certificate": {
- "_id": "6448d56b310000400063f014",
- "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "notAfter": 1609459200000,
- "thumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "revocationDate": 0,
- "certificate": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "grades": [
- {
- "name": "Horizon-Grading-Policy",
- "grade": "A"
}
], - "revoked": true,
- "escrowed": true,
- "issuer": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "notBefore": 1609459200000,
- "crlSynchronized": true,
- "selfSigned": false,
- "discoveredTrusted": true,
- "keyType": "rsa-2048",
- "thirdPartyData": [
- {
- "connector": "F5_connector",
- "id": "hrz-hrz-1099-2dc61ac089ddeaab6efab34",
- "fingerprint": "hrz-hrz-1099-2dc61ac089ddeaab6efab34.1681397142139.crt",
- "pushDate": 1681397145000,
- "removeDate": 1681497145000
}
], - "owner": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "contactEmail": "user@example.com",
- "module": "webra",
- "profile": "DefaultProfile",
- "team": "string",
- "holderId": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "discoveryInfo": [
- {
- "campaign": "zone_1_discovery",
- "lastDiscoveryDate": 1683988841000,
- "identifier": "CN=horizon-cli"
}
], - "subjectAlternateNames": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "serial": "1",
- "signingAlgorithm": "SHA256WITHRSA",
- "discoveryData": [
- {
- "ip": "192.168.1.66",
- "sources": [
- "netscan"
], - "hostnames": [
- "docs.evertrust.fr"
], - "operatingSystems": [
- "windows"
], - "paths": [
- "/etc/ssl/cert.crt"
], - "usages": [
- "/usr/local/nginx/conf/nginx.conf"
], - "tlsPorts": [
- {
- "port": 443,
- "version": "TLSv1.2"
}
]
}
], - "revocationReason": "string"
}, - "permissions": {
- "enroll": true,
- "requestEnroll": true,
- "revoke": true,
- "requestRevoke": true,
- "update": true,
- "requestUpdate": true,
- "recover": true,
- "requestRecover": true,
- "migrate": true,
- "requestMigrate": true,
- "renew": true,
- "requestRenew": true
}
}Retrieve a specific certificate based on its PEM encoded value
| pem required | string Example: -----BEGIN%20CERTIFICATE----- ... -----END%20CERTIFICATE----- The URL encoded PEM encoded value of the certificate |
{- "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "notAfter": 1609459200000,
- "thumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "revocationDate": 0,
- "certificate": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "grades": [
- {
- "name": "Horizon-Grading-Policy",
- "grade": "A"
}
], - "revoked": true,
- "escrowed": true,
- "issuer": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "notBefore": 1609459200000,
- "crlSynchronized": true,
- "selfSigned": false,
- "discoveredTrusted": true,
- "keyType": "rsa-2048",
- "thirdPartyData": [
- {
- "connector": "F5_connector",
- "id": "hrz-hrz-1099-2dc61ac089ddeaab6efab34",
- "fingerprint": "hrz-hrz-1099-2dc61ac089ddeaab6efab34.1681397142139.crt",
- "pushDate": 1681397145000,
- "removeDate": 1681497145000
}
], - "owner": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "contactEmail": "user@example.com",
- "module": "webra",
- "profile": "DefaultProfile",
- "team": "string",
- "holderId": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "discoveryInfo": [
- {
- "campaign": "zone_1_discovery",
- "lastDiscoveryDate": 1683988841000,
- "identifier": "CN=horizon-cli"
}
], - "subjectAlternateNames": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "serial": "1",
- "signingAlgorithm": "SHA256WITHRSA",
- "discoveryData": [
- {
- "ip": "192.168.1.66",
- "sources": [
- "netscan"
], - "hostnames": [
- "docs.evertrust.fr"
], - "operatingSystems": [
- "windows"
], - "paths": [
- "/etc/ssl/cert.crt"
], - "usages": [
- "/usr/local/nginx/conf/nginx.conf"
], - "tlsPorts": [
- {
- "port": 443,
- "version": "TLSv1.2"
}
]
}
], - "_id": "6448d56b310000400063f014",
- "revocationReason": "string"
}When a trigger fails, the user might have the ability to run the trigger manually again. This is only possible when retryable is set to true in the triggerResult.
| id required | string Example: 644796623000003800cc6c4b The ID of the certificate |
| triggerName required | string Example: TestTrigger The name of the trigger |
| event required | string Enum: "on_enroll" "on_revoke" "on_update" "on_recover" "on_migrate" "on_expire" "on_renew" |
{- "certificate": {
- "_id": "6448d56b310000400063f014",
- "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "notAfter": 1609459200000,
- "thumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "revocationDate": 0,
- "certificate": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "grades": [
- {
- "name": "Horizon-Grading-Policy",
- "grade": "A"
}
], - "revoked": true,
- "escrowed": true,
- "issuer": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "notBefore": 1609459200000,
- "crlSynchronized": true,
- "selfSigned": false,
- "discoveredTrusted": true,
- "keyType": "rsa-2048",
- "thirdPartyData": [
- {
- "connector": "F5_connector",
- "id": "hrz-hrz-1099-2dc61ac089ddeaab6efab34",
- "fingerprint": "hrz-hrz-1099-2dc61ac089ddeaab6efab34.1681397142139.crt",
- "pushDate": 1681397145000,
- "removeDate": 1681497145000
}
], - "owner": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "contactEmail": "user@example.com",
- "module": "webra",
- "profile": "DefaultProfile",
- "team": "string",
- "holderId": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "discoveryInfo": [
- {
- "campaign": "zone_1_discovery",
- "lastDiscoveryDate": 1683988841000,
- "identifier": "CN=horizon-cli"
}
], - "subjectAlternateNames": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "serial": "1",
- "signingAlgorithm": "SHA256WITHRSA",
- "discoveryData": [
- {
- "ip": "192.168.1.66",
- "sources": [
- "netscan"
], - "hostnames": [
- "docs.evertrust.fr"
], - "operatingSystems": [
- "windows"
], - "paths": [
- "/etc/ssl/cert.crt"
], - "usages": [
- "/usr/local/nginx/conf/nginx.conf"
], - "tlsPorts": [
- {
- "port": 443,
- "version": "TLSv1.2"
}
]
}
], - "revocationReason": "string"
}, - "permissions": {
- "enroll": true,
- "requestEnroll": true,
- "revoke": true,
- "requestRevoke": true,
- "update": true,
- "requestUpdate": true,
- "recover": true,
- "requestRecover": true,
- "migrate": true,
- "requestMigrate": true,
- "renew": true,
- "requestRenew": true
}
}Return the certificate search dictionary. The dictionary is computed based on the principal and includes:
{- "profiles": [
- {
- "name": "webra_centralized",
- "module": "webra",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}
], - "campaigns": [
- "horizon_netscan_campaign"
], - "teams": [
- {
- "name": "backend",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}
], - "labels": [
- {
- "name": "business_unit",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}
], - "metadata": [
- "pki_connector",
- "automation_policy",
- "..."
], - "modules": [
- "webra",
- "est",
- "..."
], - "gradingPolicies": [
- "Horizon-Grading-Policy"
]
}Send a certificate search query (in HCQL format) and return the certificate search results
| enableAnalytics | boolean Use the analytics database if enabled. |
| query | string or null The HCQL query to use for the search, represents the way to filter certificates. If not specified, it will filter nothing |
| fields | Array of strings or null The fields to be returned by the search. If this parameter is not specified, everything is returned by default. If this parameter is equal to an empty array, only the |
Array of objects or null (SortElement) The way to sort the search results. | |
| pageIndex | integer or null <int32> Default: 1 The index of the page to retrieve |
| pageSize | integer or null <int32> Default: 50 The maximum number of items to retrieve for one page |
| withCount | boolean or null Default: false If set to |
{- "query": "status is valid",
- "fields": [
- "module",
- "dn",
- "notAfter",
- "revocationDate",
- "revocationReason",
- "notBefore"
], - "sortedBy": [
- {
- "element": "notBefore",
- "order": "Asc"
}
], - "pageIndex": 1,
- "pageSize": 50,
- "withCount": false
}{- "results": [
- {
- "_id": "string",
- "module": "string",
- "profile": "string",
- "owner": "string",
- "team": "string",
- "discoveredTrusted": true,
- "discoveryInfo": [
- {
- "campaign": "zone_1_discovery",
- "lastDiscoveryDate": 1683988841000,
- "identifier": "CN=horizon-cli"
}
], - "discoveryData": [
- {
- "ip": "192.168.1.66",
- "sources": [
- "netscan"
], - "hostnames": [
- "docs.evertrust.fr"
], - "operatingSystems": [
- "windows"
], - "paths": [
- "/etc/ssl/cert.crt"
], - "usages": [
- "/usr/local/nginx/conf/nginx.conf"
], - "tlsPorts": [
- {
- "port": 443,
- "version": "TLSv1.2"
}
]
}
], - "certificate": "string",
- "thumbprint": "string",
- "selfSigned": true,
- "publicKeyThumbprint": "string",
- "dn": "string",
- "serial": "string",
- "issuer": "string",
- "notBefore": 0,
- "notAfter": 0,
- "revocationDate": 0,
- "revocationReason": "string",
- "keyType": "rsa-2048",
- "signingAlgorithm": "string",
- "subjectAlternateNames": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "thirdPartyData": [
- {
- "connector": "F5_connector",
- "id": "hrz-hrz-1099-2dc61ac089ddeaab6efab34",
- "fingerprint": "hrz-hrz-1099-2dc61ac089ddeaab6efab34.1681397142139.crt",
- "pushDate": 1681397145000,
- "removeDate": 1681497145000
}
], - "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "holderId": "string",
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "privateKey": {
- "horizonKey": "string",
- "value": "string",
- "vaultKey": "string",
- "transient": true
}, - "permissions": {
- "enroll": true,
- "requestEnroll": true,
- "revoke": true,
- "requestRevoke": true,
- "update": true,
- "requestUpdate": true,
- "recover": true,
- "requestRecover": true,
- "migrate": true,
- "requestMigrate": true,
- "renew": true,
- "requestRenew": true
}, - "contactEmail": "string",
- "grades": [
- {
- "name": "Horizon-Grading-Policy",
- "grade": "A"
}
]
}
], - "pageIndex": 1,
- "pageSize": 50,
- "count": 12,
- "hasMore": false
}Find a certificate by its Id or PEM
| id required | string Internal id of the certificate to find |
{- "id": "6448d56b310000400063f014"
}{- "certificate": {
- "_id": "6448d56b310000400063f014",
- "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "notAfter": 1609459200000,
- "thumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "revocationDate": 0,
- "certificate": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "grades": [
- {
- "name": "Horizon-Grading-Policy",
- "grade": "A"
}
], - "revoked": true,
- "escrowed": true,
- "issuer": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "notBefore": 1609459200000,
- "crlSynchronized": true,
- "selfSigned": false,
- "discoveredTrusted": true,
- "keyType": "rsa-2048",
- "thirdPartyData": [
- {
- "connector": "F5_connector",
- "id": "hrz-hrz-1099-2dc61ac089ddeaab6efab34",
- "fingerprint": "hrz-hrz-1099-2dc61ac089ddeaab6efab34.1681397142139.crt",
- "pushDate": 1681397145000,
- "removeDate": 1681497145000
}
], - "owner": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "contactEmail": "user@example.com",
- "module": "webra",
- "profile": "DefaultProfile",
- "team": "string",
- "holderId": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "discoveryInfo": [
- {
- "campaign": "zone_1_discovery",
- "lastDiscoveryDate": 1683988841000,
- "identifier": "CN=horizon-cli"
}
], - "subjectAlternateNames": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "serial": "1",
- "signingAlgorithm": "SHA256WITHRSA",
- "discoveryData": [
- {
- "ip": "192.168.1.66",
- "sources": [
- "netscan"
], - "hostnames": [
- "docs.evertrust.fr"
], - "operatingSystems": [
- "windows"
], - "paths": [
- "/etc/ssl/cert.crt"
], - "usages": [
- "/usr/local/nginx/conf/nginx.conf"
], - "tlsPorts": [
- {
- "port": 443,
- "version": "TLSv1.2"
}
]
}
], - "revocationReason": "string"
}, - "permissions": {
- "enroll": true,
- "requestEnroll": true,
- "revoke": true,
- "requestRevoke": true,
- "update": true,
- "requestUpdate": true,
- "recover": true,
- "requestRecover": true,
- "migrate": true,
- "requestMigrate": true,
- "renew": true,
- "requestRenew": true
}
}Send a certificate aggregation query and return the aggregation result
| enableAnalytics | boolean Use the analytics database if enabled. |
The certificate aggregation query
| query | string or null The HCQL query to use for the search, represents the way to filter certificates. If not specified, it will filter nothing |
| groupBy | Array of strings or null The field that the aggregation will take place on |
| withCount | boolean or null If set to |
| sortOrder | string or null Enum: "Asc" "Desc" "KeyAsc" "KeyDesc" |
| limit | integer or null <int32> In case of an aggregate sending a lot of different results, how many must be sent back |
object or null (Having) A condition to apply to the result. Only the aggregates results with more than 5 certificates in them can be kept for example |
{- "query": "status is valid",
- "groupBy": [
- "keyType"
], - "withCount": true,
- "sortOrder": "Asc",
- "limit": 3,
- "having": {
- "operator": "gt",
- "value": 5
}
}{- "items": [
- {
- "_id": {
- "groupedByField": "rsa-2048"
}, - "count": 6
}
], - "count": 6
}Send a certificate search query (in HCQL format) and return the certificate search results in CSV format
| enableAnalytics | boolean Use the analytics database if enabled. |
The certificate search query
| query | string or null The HCQL query to use for the search, represents the way to filter certificates. If not specified, it will filter nothing |
| fields | Array of strings or null The fields to be returned by the search. If this parameter is not specified, everything is returned by default. If this parameter is equal to an empty array, only the |
Array of objects or null (SortElement) The way to sort the search results. | |
| pageIndex | integer or null <int32> Default: 1 The index of the page to retrieve |
| pageSize | integer or null <int32> Default: 50 The maximum number of items to retrieve for one page |
| withCount | boolean or null Default: false If set to |
{- "query": "status is valid",
- "fields": [
- "module",
- "dn",
- "notAfter",
- "revocationDate",
- "revocationReason",
- "notBefore"
], - "sortedBy": [
- {
- "element": "notBefore",
- "order": "Asc"
}
], - "pageIndex": 1,
- "pageSize": 50,
- "withCount": false
}{- "error": "CERT-SEARCH-002",
- "message": "Invalid Search Request",
- "title": "Invalid Search Request",
- "detail": "Details about the error",
- "status": 0
}Requests are how certificates are enrolled through Horizon. A request is linked to a profile, which specifies a PKI connector that will be used to issue the certificate, and grants rights to users to issue certificates on the given profile.
All Horizon requests share the same lifecycle steps :
All requests on Horizon are linked to a profile, which defines a certificate template and a PKI connector which will sign the certificate.
Before submitting a request (such as an enrollement or revocation request), you must choose the profile on which you want to perform the operation.
This endpoint lists certificate profiles on which a principal owns a given workflow capability, such as enroll or revoke.
| module | string or null Enum: "acme" "est" "scep" "wcce" "webra" "crmp" Only return profiles from a given module. If not specified, all profiles will be returned. |
| workflow | string or null Enum: "enroll" "revoke" "recover" "renew" "update" "migrate" "import" Only return profiles on which the principal owns a given workflow capability. If not specified, all profiles will be returned. |
[- {
- "name": "webra_centralized",
- "module": "webra",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "workflows": [
- {
- "workflow": "enroll",
- "request": true,
- "perform": true
}
], - "capabilities": {
- "centralized": true,
- "decentralized": true,
- "defaultKeyType": "rsa-2048",
- "authorizedKeyTypes": [
- "rsa-2048",
- "rsa-4096"
], - "preferredEnrollmentMode": "centralized",
- "passwordPolicy": {
- "name": "Horizon-Default",
- "minChar": 8,
- "maxChar": 24,
- "minUpChar": 1,
- "minLoChar": 1,
- "minDiChar": 1,
- "spChar": "!@#$%^&*()_+",
- "minSpChar": 1
}, - "p12passwordMode": "manual"
}
}
]Retrieve the template to fulfill a specific request. The template indicates the required element to include when submitting a new request
The request on which to return the template
| workflow required | string Value: "enroll" The workflow for which to return the template. |
| module required | string Value: "webra" The module for which to return the template. |
| profile | string or null (Certificate profile) The profile for which to return the template. |
object An optional CSR can be given to pre-fill the template | |
| certificateId | string or null (Horizon certificate ID) Used to pre-fill the template field with the certificate values. |
| certificatePem | string or null (Certificate pem) Used to pre-fill the template field with the certificate values. |
{- "workflow": "enroll",
- "module": "webra",
- "profile": "webra_centralized",
- "template": {
- "csr": "-----BEGIN CSR----- ..."
}, - "certificateId": "6448d56b310000400063f014",
- "certificatePem": "-----BEGIN CERTIFICATE----- ..."
}{- "workflow": "enroll",
- "module": "webra",
- "profile": "webra_centralized",
- "template": {
- "capabilities": {
- "centralized": false,
- "decentralized": false,
- "defaultKeyType": "rsa-2048",
- "authorizedKeyTypes": [
- "rsa-2048",
- "rsa-3072",
- "rsa-4096"
], - "preferredEnrollmentMode": "centralized",
- "escrow": false,
- "p12passwordPolicy": "string",
- "p12passwordMode": "random",
- "p12storeEncryptionType": "AES",
- "showP12PasswordOnEnroll": true,
- "showP12OnEnroll": true,
- "showP12PasswordOnRecover": true,
- "showP12OnRecover": true
}, - "passwordPolicy": {
- "name": "Horizon-Default",
- "minChar": 8,
- "maxChar": 24,
- "minUpChar": 1,
- "minLoChar": 1,
- "minDiChar": 1,
- "spChar": "!@#$%^&*()_+",
- "minSpChar": 1
}, - "subject": [
- {
- "element": "cn.1",
- "value": "John Doe"
}
], - "sans": [
- {
- "type": "RFC822NAME",
- "value": [
- "mail@evertrust.fr",
- "mail2@evertrust.fr"
]
}
], - "extensions": [
- {
- "type": "ms_sid",
- "value": "string"
}
], - "labels": [
- {
- "label": "BU",
- "value": "business_unit_1"
}
], - "contactEmail": {
- "value": "docs@evertrust.fr"
}, - "owner": {
- "value": "administrator"
}, - "team": {
- "value": "webserver"
}, - "metadata": [
- {
- "metadata": "pki_connector",
- "value": "stream_connector"
}
]
}
}Submit a new request
The Request to submit
| profile required | string The WebRA profile name |
object The password to decrypt the PKCS12 file. Must be set if password mode is | |
| requesterComment | string or null Free-text field editable by the requester to provider more context on the request |
| module required | string Value: "webra" The module that will be used to process this request. For a WebRA request, this is always |
| workflow required | string Value: "enroll" What this request will do. For an enrollment request, this is always |
required | object (WebRA Enroll Request Template) The user-data that will be used to generate the certificate |
| dryRun | boolean or null Default: false If true, the request is validated, but will not result in an enrollment |
{- "profile": "string",
- "password": {
- "value": "zxNT49BtECRYaRYx ..."
}, - "requesterComment": "I need this certificate to access the VPN.",
- "module": "webra",
- "workflow": "enroll",
- "template": {
- "keyType": "rsa-2048",
- "csr": "-----BEGIN CSR----- ...",
- "subject": [
- {
- "element": "cn.1",
- "value": "John Doe"
}
], - "sans": [
- {
- "type": "RFC822NAME",
- "value": [
- "mail@evertrust.fr",
- "mail2@evertrust.fr"
]
}
], - "extensions": [
- {
- "type": "ms_sid",
- "value": "string"
}
], - "labels": [
- {
- "label": "BU",
- "value": "business_unit_1"
}
], - "contactEmail": {
- "value": "docs@evertrust.fr"
}, - "owner": {
- "value": "administrator"
}, - "team": {
- "value": "webserver"
}, - "metadata": [
- {
- "metadata": "pki_connector",
- "value": "stream_connector"
}
]
}, - "dryRun": false
}{- "module": "webra",
- "workflow": "enroll",
- "template": {
- "keyType": "rsa-2048",
- "csr": "-----BEGIN CSR----- ...",
- "subject": [
- {
- "element": "cn.1",
- "value": "John Doe"
}
], - "sans": [
- {
- "type": "RFC822NAME",
- "value": [
- "mail@evertrust.fr",
- "mail2@evertrust.fr"
]
}
], - "extensions": [
- {
- "type": "ms_sid",
- "value": "string"
}
], - "labels": [
- {
- "label": "BU",
- "value": "business_unit_1"
}
], - "contactEmail": {
- "value": "docs@evertrust.fr"
}, - "owner": {
- "value": "administrator"
}, - "team": {
- "value": "webserver"
}, - "metadata": [
- {
- "metadata": "pki_connector",
- "value": "stream_connector"
}
]
}, - "pkcs12": {
- "value": "zxNT49BtECRYaRYx ..."
}, - "password": {
- "value": "zxNT49BtECRYaRYx ..."
}, - "certificate": {
- "_id": "6448d56b310000400063f014",
- "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "notAfter": 1609459200000,
- "thumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "revocationDate": 0,
- "certificate": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "grades": [
- {
- "name": "Horizon-Grading-Policy",
- "grade": "A"
}
], - "revoked": true,
- "escrowed": true,
- "issuer": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "notBefore": 1609459200000,
- "crlSynchronized": true,
- "selfSigned": false,
- "discoveredTrusted": true,
- "keyType": "rsa-2048",
- "thirdPartyData": [
- {
- "connector": "F5_connector",
- "id": "hrz-hrz-1099-2dc61ac089ddeaab6efab34",
- "fingerprint": "hrz-hrz-1099-2dc61ac089ddeaab6efab34.1681397142139.crt",
- "pushDate": 1681397145000,
- "removeDate": 1681497145000
}
], - "owner": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "contactEmail": "user@example.com",
- "module": "webra",
- "profile": "DefaultProfile",
- "team": "string",
- "holderId": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "discoveryInfo": [
- {
- "campaign": "zone_1_discovery",
- "lastDiscoveryDate": 1683988841000,
- "identifier": "CN=horizon-cli"
}
], - "subjectAlternateNames": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "serial": "1",
- "signingAlgorithm": "SHA256WITHRSA",
- "discoveryData": [
- {
- "ip": "192.168.1.66",
- "sources": [
- "netscan"
], - "hostnames": [
- "docs.evertrust.fr"
], - "operatingSystems": [
- "windows"
], - "paths": [
- "/etc/ssl/cert.crt"
], - "usages": [
- "/usr/local/nginx/conf/nginx.conf"
], - "tlsPorts": [
- {
- "port": 443,
- "version": "TLSv1.2"
}
]
}
], - "revocationReason": "string"
}, - "_id": "6448d56b310000400063f014",
- "status": "denied",
- "profile": "DefaultProfile",
- "dn": "CN=John Doe,OU=IT,O=Example,C=US",
- "requester": "jdoe",
- "team": "IT",
- "approver": "jdoe",
- "contact": "jdoe@example.org",
- "requesterComment": "I need this certificate to access the VPN.",
- "approverComment": "This certificate is for the VPN.",
- "registrationDate": 1683021380000,
- "lastModificationDate": 1683021380000,
- "expirationDate": 1683024980000,
- "removeAt": 1685616980640,
- "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "holderId": "453b0d7ac28e079addad4fff633a9b06cdfe2d5626e12cefffbebb462e261a27",
- "globalHolderIdCount": 0,
- "profileHolderIdCount": 0,
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "dryRun": false
}Retrieve an existing request based on its id
| id required | string The request ID |
{- "module": "webra",
- "workflow": "enroll",
- "template": {
- "keyType": "rsa-2048",
- "csr": "-----BEGIN CSR----- ...",
- "subject": [
- {
- "element": "cn.1",
- "value": "John Doe"
}
], - "sans": [
- {
- "type": "RFC822NAME",
- "value": [
- "mail@evertrust.fr",
- "mail2@evertrust.fr"
]
}
], - "extensions": [
- {
- "type": "ms_sid",
- "value": "string"
}
], - "labels": [
- {
- "label": "BU",
- "value": "business_unit_1"
}
], - "contactEmail": {
- "value": "docs@evertrust.fr"
}, - "owner": {
- "value": "administrator"
}, - "team": {
- "value": "webserver"
}, - "metadata": [
- {
- "metadata": "pki_connector",
- "value": "stream_connector"
}
]
}, - "pkcs12": {
- "value": "zxNT49BtECRYaRYx ..."
}, - "password": {
- "value": "zxNT49BtECRYaRYx ..."
}, - "certificate": {
- "_id": "6448d56b310000400063f014",
- "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "notAfter": 1609459200000,
- "thumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "revocationDate": 0,
- "certificate": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "grades": [
- {
- "name": "Horizon-Grading-Policy",
- "grade": "A"
}
], - "revoked": true,
- "escrowed": true,
- "issuer": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "notBefore": 1609459200000,
- "crlSynchronized": true,
- "selfSigned": false,
- "discoveredTrusted": true,
- "keyType": "rsa-2048",
- "thirdPartyData": [
- {
- "connector": "F5_connector",
- "id": "hrz-hrz-1099-2dc61ac089ddeaab6efab34",
- "fingerprint": "hrz-hrz-1099-2dc61ac089ddeaab6efab34.1681397142139.crt",
- "pushDate": 1681397145000,
- "removeDate": 1681497145000
}
], - "owner": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "contactEmail": "user@example.com",
- "module": "webra",
- "profile": "DefaultProfile",
- "team": "string",
- "holderId": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "discoveryInfo": [
- {
- "campaign": "zone_1_discovery",
- "lastDiscoveryDate": 1683988841000,
- "identifier": "CN=horizon-cli"
}
], - "subjectAlternateNames": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "serial": "1",
- "signingAlgorithm": "SHA256WITHRSA",
- "discoveryData": [
- {
- "ip": "192.168.1.66",
- "sources": [
- "netscan"
], - "hostnames": [
- "docs.evertrust.fr"
], - "operatingSystems": [
- "windows"
], - "paths": [
- "/etc/ssl/cert.crt"
], - "usages": [
- "/usr/local/nginx/conf/nginx.conf"
], - "tlsPorts": [
- {
- "port": 443,
- "version": "TLSv1.2"
}
]
}
], - "revocationReason": "string"
}, - "_id": "6448d56b310000400063f014",
- "status": "denied",
- "profile": "DefaultProfile",
- "dn": "CN=John Doe,OU=IT,O=Example,C=US",
- "requester": "jdoe",
- "team": "IT",
- "approver": "jdoe",
- "contact": "jdoe@example.org",
- "requesterComment": "I need this certificate to access the VPN.",
- "approverComment": "This certificate is for the VPN.",
- "registrationDate": 1683021380000,
- "lastModificationDate": 1683021380000,
- "expirationDate": 1683024980000,
- "removeAt": 1685616980640,
- "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "holderId": "453b0d7ac28e079addad4fff633a9b06cdfe2d5626e12cefffbebb462e261a27",
- "globalHolderIdCount": 0,
- "profileHolderIdCount": 0,
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "dryRun": false
}Cancel an existing request
The Request to cancel
| _id required | string (Internal ID) The ID of the request to cancel |
| module required | string (Module) Enum: "webra" "est" "scep" "acme" "crmp" "acme-external" "intune" "jamf" "intunepkcs" The module of the request |
| workflow required | string (Workflow) Enum: "enroll" "migrate" "revoke" "recover" "renew" "update" "import" The workflow of the request |
{- "_id": "6448d56b310000400063f014",
- "module": "webra",
- "workflow": "enroll"
}{- "module": "webra",
- "workflow": "enroll",
- "template": {
- "keyType": "rsa-2048",
- "csr": "-----BEGIN CSR----- ...",
- "subject": [
- {
- "element": "cn.1",
- "value": "John Doe"
}
], - "sans": [
- {
- "type": "RFC822NAME",
- "value": [
- "mail@evertrust.fr",
- "mail2@evertrust.fr"
]
}
], - "extensions": [
- {
- "type": "ms_sid",
- "value": "string"
}
], - "labels": [
- {
- "label": "BU",
- "value": "business_unit_1"
}
], - "contactEmail": {
- "value": "docs@evertrust.fr"
}, - "owner": {
- "value": "administrator"
}, - "team": {
- "value": "webserver"
}, - "metadata": [
- {
- "metadata": "pki_connector",
- "value": "stream_connector"
}
]
}, - "pkcs12": {
- "value": "zxNT49BtECRYaRYx ..."
}, - "password": {
- "value": "zxNT49BtECRYaRYx ..."
}, - "certificate": {
- "_id": "6448d56b310000400063f014",
- "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "notAfter": 1609459200000,
- "thumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "revocationDate": 0,
- "certificate": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "grades": [
- {
- "name": "Horizon-Grading-Policy",
- "grade": "A"
}
], - "revoked": true,
- "escrowed": true,
- "issuer": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "notBefore": 1609459200000,
- "crlSynchronized": true,
- "selfSigned": false,
- "discoveredTrusted": true,
- "keyType": "rsa-2048",
- "thirdPartyData": [
- {
- "connector": "F5_connector",
- "id": "hrz-hrz-1099-2dc61ac089ddeaab6efab34",
- "fingerprint": "hrz-hrz-1099-2dc61ac089ddeaab6efab34.1681397142139.crt",
- "pushDate": 1681397145000,
- "removeDate": 1681497145000
}
], - "owner": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "contactEmail": "user@example.com",
- "module": "webra",
- "profile": "DefaultProfile",
- "team": "string",
- "holderId": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "discoveryInfo": [
- {
- "campaign": "zone_1_discovery",
- "lastDiscoveryDate": 1683988841000,
- "identifier": "CN=horizon-cli"
}
], - "subjectAlternateNames": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "serial": "1",
- "signingAlgorithm": "SHA256WITHRSA",
- "discoveryData": [
- {
- "ip": "192.168.1.66",
- "sources": [
- "netscan"
], - "hostnames": [
- "docs.evertrust.fr"
], - "operatingSystems": [
- "windows"
], - "paths": [
- "/etc/ssl/cert.crt"
], - "usages": [
- "/usr/local/nginx/conf/nginx.conf"
], - "tlsPorts": [
- {
- "port": 443,
- "version": "TLSv1.2"
}
]
}
], - "revocationReason": "string"
}, - "_id": "6448d56b310000400063f014",
- "status": "denied",
- "profile": "DefaultProfile",
- "dn": "CN=John Doe,OU=IT,O=Example,C=US",
- "requester": "jdoe",
- "team": "IT",
- "approver": "jdoe",
- "contact": "jdoe@example.org",
- "requesterComment": "I need this certificate to access the VPN.",
- "approverComment": "This certificate is for the VPN.",
- "registrationDate": 1683021380000,
- "lastModificationDate": 1683021380000,
- "expirationDate": 1683024980000,
- "removeAt": 1685616980640,
- "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "holderId": "453b0d7ac28e079addad4fff633a9b06cdfe2d5626e12cefffbebb462e261a27",
- "globalHolderIdCount": 0,
- "profileHolderIdCount": 0,
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "dryRun": false
}Requester that do not have the privileges to directly enroll will see their requests in the pending state after submitting them. An approver can then approve the request, which will trigger the enrollment trough the configured PKI connector.
The request to approve
| _id required | string (Internal ID) Object internal ID |
| approverComment | string or null Free-text field editable by the approver to provider more context on the request |
| module required | string Value: "webra" The module that will be used to process this request. For a WebRA request, this is always |
| workflow required | string Value: "enroll" What this request will do. For an enrollment request, this is always |
object (WebRA Enroll Request Template) The user-data that will be used to generate the certificate | |
| dryRun | boolean or null Default: false If true, the request is validated, but will not result in an enrollment |
{- "_id": "6448d56b310000400063f014",
- "approverComment": "Denying this request because parameters are missing.",
- "module": "webra",
- "workflow": "enroll",
- "template": {
- "keyType": "rsa-2048",
- "csr": "-----BEGIN CSR----- ...",
- "subject": [
- {
- "element": "cn.1",
- "value": "John Doe"
}
], - "sans": [
- {
- "type": "RFC822NAME",
- "value": [
- "mail@evertrust.fr",
- "mail2@evertrust.fr"
]
}
], - "extensions": [
- {
- "type": "ms_sid",
- "value": "string"
}
], - "labels": [
- {
- "label": "BU",
- "value": "business_unit_1"
}
], - "contactEmail": {
- "value": "docs@evertrust.fr"
}, - "owner": {
- "value": "administrator"
}, - "team": {
- "value": "webserver"
}, - "metadata": [
- {
- "metadata": "pki_connector",
- "value": "stream_connector"
}
]
}, - "dryRun": false
}{- "module": "webra",
- "workflow": "enroll",
- "template": {
- "keyType": "rsa-2048",
- "csr": "-----BEGIN CSR----- ...",
- "subject": [
- {
- "element": "cn.1",
- "value": "John Doe"
}
], - "sans": [
- {
- "type": "RFC822NAME",
- "value": [
- "mail@evertrust.fr",
- "mail2@evertrust.fr"
]
}
], - "extensions": [
- {
- "type": "ms_sid",
- "value": "string"
}
], - "labels": [
- {
- "label": "BU",
- "value": "business_unit_1"
}
], - "contactEmail": {
- "value": "docs@evertrust.fr"
}, - "owner": {
- "value": "administrator"
}, - "team": {
- "value": "webserver"
}, - "metadata": [
- {
- "metadata": "pki_connector",
- "value": "stream_connector"
}
]
}, - "pkcs12": {
- "value": "zxNT49BtECRYaRYx ..."
}, - "password": {
- "value": "zxNT49BtECRYaRYx ..."
}, - "certificate": {
- "_id": "6448d56b310000400063f014",
- "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "notAfter": 1609459200000,
- "thumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "revocationDate": 0,
- "certificate": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "grades": [
- {
- "name": "Horizon-Grading-Policy",
- "grade": "A"
}
], - "revoked": true,
- "escrowed": true,
- "issuer": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "notBefore": 1609459200000,
- "crlSynchronized": true,
- "selfSigned": false,
- "discoveredTrusted": true,
- "keyType": "rsa-2048",
- "thirdPartyData": [
- {
- "connector": "F5_connector",
- "id": "hrz-hrz-1099-2dc61ac089ddeaab6efab34",
- "fingerprint": "hrz-hrz-1099-2dc61ac089ddeaab6efab34.1681397142139.crt",
- "pushDate": 1681397145000,
- "removeDate": 1681497145000
}
], - "owner": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "contactEmail": "user@example.com",
- "module": "webra",
- "profile": "DefaultProfile",
- "team": "string",
- "holderId": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "discoveryInfo": [
- {
- "campaign": "zone_1_discovery",
- "lastDiscoveryDate": 1683988841000,
- "identifier": "CN=horizon-cli"
}
], - "subjectAlternateNames": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "serial": "1",
- "signingAlgorithm": "SHA256WITHRSA",
- "discoveryData": [
- {
- "ip": "192.168.1.66",
- "sources": [
- "netscan"
], - "hostnames": [
- "docs.evertrust.fr"
], - "operatingSystems": [
- "windows"
], - "paths": [
- "/etc/ssl/cert.crt"
], - "usages": [
- "/usr/local/nginx/conf/nginx.conf"
], - "tlsPorts": [
- {
- "port": 443,
- "version": "TLSv1.2"
}
]
}
], - "revocationReason": "string"
}, - "_id": "6448d56b310000400063f014",
- "status": "denied",
- "profile": "DefaultProfile",
- "dn": "CN=John Doe,OU=IT,O=Example,C=US",
- "requester": "jdoe",
- "team": "IT",
- "approver": "jdoe",
- "contact": "jdoe@example.org",
- "requesterComment": "I need this certificate to access the VPN.",
- "approverComment": "This certificate is for the VPN.",
- "registrationDate": 1683021380000,
- "lastModificationDate": 1683021380000,
- "expirationDate": 1683024980000,
- "removeAt": 1685616980640,
- "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "holderId": "453b0d7ac28e079addad4fff633a9b06cdfe2d5626e12cefffbebb462e261a27",
- "globalHolderIdCount": 0,
- "profileHolderIdCount": 0,
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "dryRun": false
}Deny an existing request
The request to deny
| _id required | string (Internal ID) The ID of the request to deny |
| module required | string (Module) Enum: "webra" "est" "scep" "acme" "crmp" "acme-external" "intune" "jamf" "intunepkcs" The module of the request |
| workflow required | string (Workflow) Enum: "enroll" "migrate" "revoke" "recover" "renew" "update" "import" The workflow of the request |
| approverComment | string Free-text field editable by the approver to provider more context on the denial |
{- "_id": "6448d56b310000400063f014",
- "module": "webra",
- "workflow": "enroll",
- "approverComment": "string"
}{- "module": "webra",
- "workflow": "enroll",
- "template": {
- "keyType": "rsa-2048",
- "csr": "-----BEGIN CSR----- ...",
- "subject": [
- {
- "element": "cn.1",
- "value": "John Doe"
}
], - "sans": [
- {
- "type": "RFC822NAME",
- "value": [
- "mail@evertrust.fr",
- "mail2@evertrust.fr"
]
}
], - "extensions": [
- {
- "type": "ms_sid",
- "value": "string"
}
], - "labels": [
- {
- "label": "BU",
- "value": "business_unit_1"
}
], - "contactEmail": {
- "value": "docs@evertrust.fr"
}, - "owner": {
- "value": "administrator"
}, - "team": {
- "value": "webserver"
}, - "metadata": [
- {
- "metadata": "pki_connector",
- "value": "stream_connector"
}
]
}, - "pkcs12": {
- "value": "zxNT49BtECRYaRYx ..."
}, - "password": {
- "value": "zxNT49BtECRYaRYx ..."
}, - "certificate": {
- "_id": "6448d56b310000400063f014",
- "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "notAfter": 1609459200000,
- "thumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "revocationDate": 0,
- "certificate": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "grades": [
- {
- "name": "Horizon-Grading-Policy",
- "grade": "A"
}
], - "revoked": true,
- "escrowed": true,
- "issuer": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "notBefore": 1609459200000,
- "crlSynchronized": true,
- "selfSigned": false,
- "discoveredTrusted": true,
- "keyType": "rsa-2048",
- "thirdPartyData": [
- {
- "connector": "F5_connector",
- "id": "hrz-hrz-1099-2dc61ac089ddeaab6efab34",
- "fingerprint": "hrz-hrz-1099-2dc61ac089ddeaab6efab34.1681397142139.crt",
- "pushDate": 1681397145000,
- "removeDate": 1681497145000
}
], - "owner": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "contactEmail": "user@example.com",
- "module": "webra",
- "profile": "DefaultProfile",
- "team": "string",
- "holderId": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "discoveryInfo": [
- {
- "campaign": "zone_1_discovery",
- "lastDiscoveryDate": 1683988841000,
- "identifier": "CN=horizon-cli"
}
], - "subjectAlternateNames": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "serial": "1",
- "signingAlgorithm": "SHA256WITHRSA",
- "discoveryData": [
- {
- "ip": "192.168.1.66",
- "sources": [
- "netscan"
], - "hostnames": [
- "docs.evertrust.fr"
], - "operatingSystems": [
- "windows"
], - "paths": [
- "/etc/ssl/cert.crt"
], - "usages": [
- "/usr/local/nginx/conf/nginx.conf"
], - "tlsPorts": [
- {
- "port": 443,
- "version": "TLSv1.2"
}
]
}
], - "revocationReason": "string"
}, - "_id": "6448d56b310000400063f014",
- "status": "denied",
- "profile": "DefaultProfile",
- "dn": "CN=John Doe,OU=IT,O=Example,C=US",
- "requester": "jdoe",
- "team": "IT",
- "approver": "jdoe",
- "contact": "jdoe@example.org",
- "requesterComment": "I need this certificate to access the VPN.",
- "approverComment": "This certificate is for the VPN.",
- "registrationDate": 1683021380000,
- "lastModificationDate": 1683021380000,
- "expirationDate": 1683024980000,
- "removeAt": 1685616980640,
- "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "holderId": "453b0d7ac28e079addad4fff633a9b06cdfe2d5626e12cefffbebb462e261a27",
- "globalHolderIdCount": 0,
- "profileHolderIdCount": 0,
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "dryRun": false
}Return the request search dictionary. The dictionary is computed based on the principal and includes:
{- "profiles": [
- {
- "name": "webra_centralized",
- "module": "webra",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}
], - "teams": [
- {
- "name": "backend",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}
], - "labels": [
- {
- "name": "business_unit",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}
], - "metadata": [
- "pki_connector",
- "automation_policy",
- "..."
], - "modules": [
- "webra",
- "est",
- "..."
]
}Send a request search query (in HRQL format) and return the request search results
The request search query
| query | string or null The HRQL query to use for the search, represents the way to filter requests. Filters nothing if not specified | ||||||||
| fields | Array of strings or null The fields to be returned by the search. If this parameter is not specified, everything is returned by default. If this parameter is equal to an empty array, only the | ||||||||
Array of objects or null (SortElement) The way to sort the search results | |||||||||
| pageIndex | integer or null <int32> Default: 1 The index of the page to retrieve | ||||||||
| pageSize | integer or null <int32> Default: 50 The maximum number of items to retrieve for one page | ||||||||
| withCount | boolean or null Default: false Whether to return the total count of requests matching the HRQL query | ||||||||
| scope | string or null
The scope of the search. |
{- "query": "request is not expired",
- "fields": [
- "workflow",
- "profile",
- "registrationDate",
- "status",
- "_id",
- "module",
- "expirationDate"
], - "sortedBy": [
- {
- "element": "notBefore",
- "order": "Asc"
}
], - "pageIndex": 1,
- "pageSize": 50,
- "withCount": false,
- "scope": "manage"
}{- "results": [
- {
- "_id": "6448d56b310000400063f014",
- "module": "webra",
- "workflow": "enroll",
- "status": "denied",
- "profile": "DefaultProfile",
- "requesterComment": "I need this certificate to access the VPN.",
- "certificateId": "6448d56b310000400063f014",
- "certificate": {
- "_id": "6448d56b310000400063f014",
- "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "notAfter": 1609459200000,
- "thumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "revocationDate": 0,
- "certificate": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "grades": [
- {
- "name": "Horizon-Grading-Policy",
- "grade": "A"
}
], - "revoked": true,
- "escrowed": true,
- "issuer": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "notBefore": 1609459200000,
- "crlSynchronized": true,
- "selfSigned": false,
- "discoveredTrusted": true,
- "keyType": "rsa-2048",
- "thirdPartyData": [
- {
- "connector": "F5_connector",
- "id": "hrz-hrz-1099-2dc61ac089ddeaab6efab34",
- "fingerprint": "hrz-hrz-1099-2dc61ac089ddeaab6efab34.1681397142139.crt",
- "pushDate": 1681397145000,
- "removeDate": 1681497145000
}
], - "owner": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "contactEmail": "user@example.com",
- "module": "webra",
- "profile": "DefaultProfile",
- "team": "string",
- "holderId": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
- "labels": [
- {
- "key": "business_unit",
- "value": "BU1"
}
], - "discoveryInfo": [
- {
- "campaign": "zone_1_discovery",
- "lastDiscoveryDate": 1683988841000,
- "identifier": "CN=horizon-cli"
}
], - "subjectAlternateNames": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "triggerResults": [
- {
- "name": "push_to_f5_on_enroll",
- "event": "on_enroll",
- "triggerType": "f5client",
- "lastExecutionDate": 1609459200000,
- "status": "failure",
- "retries": 4,
- "nextExecutionDate": 1609469200000,
- "nextDelay": "5 seconds",
- "detail": "Failure while uploading file to F5: F5_connector: No address associated with hostname",
- "retryable": true
}
], - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "serial": "1",
- "signingAlgorithm": "SHA256WITHRSA",
- "discoveryData": [
- {
- "ip": "192.168.1.66",
- "sources": [
- "netscan"
], - "hostnames": [
- "docs.evertrust.fr"
], - "operatingSystems": [
- "windows"
], - "paths": [
- "/etc/ssl/cert.crt"
], - "usages": [
- "/usr/local/nginx/conf/nginx.conf"
], - "tlsPorts": [
- {
- "port": 443,
- "version": "TLSv1.2"
}
]
}
], - "revocationReason": "string"
}, - "dn": "string",
- "holderId": "453b0d7ac28e079addad4fff633a9b06cdfe2d5626e12cefffbebb462e261a27",
- "permissions": {
- "approve": true,
- "cancel": true
}
}
], - "pageIndex": 1,
- "pageSize": 50,
- "count": 50,
- "hasMore": true
}Send a request search query (in HRQL format) and return the request search results in CSV format
The request search query
| query | string or null The HRQL query to use for the search, represents the way to filter requests. Filters nothing if not specified | ||||||||
| fields | Array of strings or null The fields to be returned by the search. If this parameter is not specified, everything is returned by default. If this parameter is equal to an empty array, only the | ||||||||
Array of objects or null (SortElement) The way to sort the search results | |||||||||
| pageIndex | integer or null <int32> Default: 1 The index of the page to retrieve | ||||||||
| pageSize | integer or null <int32> Default: 50 The maximum number of items to retrieve for one page | ||||||||
| withCount | boolean or null Default: false Whether to return the total count of requests matching the HRQL query | ||||||||
| scope | string or null
The scope of the search. |
{- "query": "request is not expired",
- "fields": [
- "workflow",
- "profile",
- "registrationDate",
- "status",
- "_id",
- "module",
- "expirationDate"
], - "sortedBy": [
- {
- "element": "notBefore",
- "order": "Asc"
}
], - "pageIndex": 1,
- "pageSize": 50,
- "withCount": false,
- "scope": "manage"
}{- "status": 400,
- "error": "REQ-006",
- "message": "Invalid Request Search Query",
- "title": "Invalid Request Search Query",
- "detail": "Details about the error"
}Send a request aggregation query and return the aggregation result
The request aggregation query
| query | string or null The HRQL query to use for the search, represents the way to filter requests. If not specified, it will filter nothing | ||||||||
| groupBy | Array of strings or null The field that the aggregation will take place on | ||||||||
| withCount | boolean or null If set to | ||||||||
| sortOrder | string or null Enum: "Asc" "Desc" "KeyAsc" "KeyDesc" | ||||||||
| limit | integer or null <int32> In case of an aggregate sending a lot of different results, how many must be sent back | ||||||||
object or null (Having) A condition to apply to the result. Only the aggregates results with more than 5 requests in them can be kept for example | |||||||||
| scope | string or null
The scope of the aggregate. |
{- "query": "status equals \"pending\"",
- "groupBy": [
- "workflow"
], - "withCount": true,
- "sortOrder": "Asc",
- "limit": 3,
- "having": {
- "operator": "gt",
- "value": 5
}, - "scope": "manage"
}{- "items": [
- {
- "_id": {
- "groupedByField": "enroll"
}, - "count": 6
}
], - "count": 6
}A local identity represents a local Horizon account, than will both be able to use the Horizon APIs and log in to the web UI. You might use local identities for identifying your users but also use them as technical service accounts, for example to allow a third-party client to perform actions on Horizon.
Retrieve the list of all existing local identities.
[- {
- "_id": "6424527e4701004c010b1509",
- "identifier": "administrator",
- "email": "administrator@evertrust.fr",
- "name": "Horizon Administrator"
}
]Create a local identity. By default, a local identity doesn't have a password and therefore cannot log in to Horizon. To set a password, call the set password endpoint after creating the local identity.
| identifier required | string The identifier of the local identity (used by the identity to log in to the web UI) |
string or null <email> The email address of the local identity | |
| name | string or null The display name of the local identity |
| password required | string The initial password for this local identity |
{- "identifier": "administrator",
- "email": "administrator@evertrust.fr",
- "name": "Horizon Administrator",
- "password": "534169469812674870598506170552236971648310761036167896036064400452449656"
}{- "_id": "6424527e4701004c010b1509",
- "identifier": "administrator",
- "email": "administrator@evertrust.fr",
- "name": "Horizon Administrator"
}Update a local identity
Local identity to update
| identifier required | string The identifier of the local identity (used by the identity to log in to the web UI) |
string or null <email> The email address of the local identity | |
| name | string or null The display name of the local identity |
{- "identifier": "administrator",
- "email": "administrator@evertrust.fr",
- "name": "Horizon Administrator"
}{- "_id": "6424527e4701004c010b1509",
- "identifier": "administrator",
- "email": "administrator@evertrust.fr",
- "name": "Horizon Administrator"
}You can define the password that will be used by this local identity to log in to the web UI or use APIs. You must have the right management permissions to perform this action, and the password must meet the local identity provider's password policy requirements, if any has been defined.
| identifier | string or null The local identity identifier. If |
| password required | string The new password in clear text |
| previousPassword | string <password> When changing your own password, this value is required and must contain the current password in clear text |
{- "identifier": "administrator",
- "password": "Sup3rSecurePassw0rd",
- "previousPassword": "pa$$word"
}{- "status": 400,
- "error": "LOCAL-ID-007",
- "message": "Invalid Set Password Request",
- "title": "Invalid Set Password Request",
- "detail": "Details about the error"
}Given an identifier, retrieve the full Local Identity object using this endpoint.
| identifier required | string Example: administrator Local identity identifier. |
{- "_id": "6424527e4701004c010b1509",
- "identifier": "administrator",
- "email": "administrator@evertrust.fr",
- "name": "Horizon Administrator"
}Delete an existing local identity based on its identifier
| identifier required | string Example: administrator Local identity identifier. |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}This is the first step in the password reset flow. The user will receive a reset UUID by email that can be used to complete the password reset request.
| identifier required | string Example: administrator Local identity identifier |
{- "status": 401,
- "error": "LOCAL-ID-011",
- "message": "Invalid Reset Password Request",
- "title": "Invalid Reset Password Request",
- "detail": "Details about the error"
}This is the second step of the password reset flow. Following a password reset request, the user will receive a reset UUID by email. They can then send this UUID and a new password to reset their password.
| identifier required | string Local identity identifier |
| uuid required | string <uuid> The reset UUID received by email by the user after a password reset request |
| password required | string <password> The new password to set. It must match the password policy if any has been defined |
{- "identifier": "administrator",
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "password": "pa$$word"
}{- "status": 401,
- "error": "LOCAL-ID-009",
- "message": "Local Identity provider not found or disabled",
- "title": "Local Identity provider not found or disabled",
- "detail": "Details about the error"
}An Identity Provider represents a way to authenticate to Horizon. Since Horizon supports multiple authentication methods (Local account, X509, OpenID connect), it can be configured to enable or disable several of them.
Return the list of enabled dynamic identity provider(s)
| enabledOnUI | boolean or null Whether the identity provider is visible on the UI |
[- {
- "type": "Local",
- "name": "local",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "reset": true
}
]List all the existing identity provider(s), regardless of whether they are enabled.
[- {
- "_id": "643821173000003d0014cdaf",
- "name": "local",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "type": "Local",
- "enabled": true,
- "enabledOnUI": true,
- "passwordPolicy": "Horizon-Default",
- "emailTemplate": {
- "to": [
- {
- "type": "static",
- "email": "some@adress.net",
- "label": "BU_ADDRESS"
}
], - "from": "noreply@horizon.evertrust.fr",
- "title": "Password recovery",
- "body": "You can reset your Horizon password at https://horizon.evertrust.fr/ui#/reset/{{reset.uuid}}. The link will expire on {{reset.expiration}}.",
- "isHtml": false
}
}
]Create a new identity provider. The identity provider can be either a local identity provider or an OIDC identity provider.
The identity provider to register
| name required | string The internal name of the local identity provider |
Array of objects or null (LocalizedString) The display name of the local identity provider | |
Array of objects or null (LocalizedString) The description of the local identity provider | |
| type required | string Value: "Local" The type of identity provider |
| enabled required | boolean Whether the local identity provider can be used to identify against Horizon |
| enabledOnUI required | boolean Whether the local identity provider can be selected on login to the Horizon UI |
| passwordPolicy | string or null The password policy to enforce for user passwords on the local identity provider |
object or null (Email template) The e-mail template to use for password recovery |
{- "name": "local",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "type": "Local",
- "enabled": true,
- "enabledOnUI": true,
- "passwordPolicy": "Horizon-Default",
- "emailTemplate": {
- "to": [
- {
- "type": "static",
- "email": "some@adress.net",
- "label": "BU_ADDRESS"
}
], - "from": "noreply@horizon.evertrust.fr",
- "title": "Password recovery",
- "body": "You can reset your Horizon password at https://horizon.evertrust.fr/ui#/reset/{{reset.uuid}}. The link will expire on {{reset.expiration}}.",
- "isHtml": false
}
}{- "_id": "643821173000003d0014cdaf",
- "name": "Google",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "type": "OpenId",
- "enabled": true,
- "enabledOnUI": true,
- "proxy": "googleProxy",
- "timeout": "5 seconds",
- "clientCredentials": "OpenIdCredentials",
- "scope": "openid profile email",
- "trustSystemCAs": true,
- "identifierClaim": "{{oid}}",
- "emailClaim": "{{email}}",
- "nameClaim": "{{name}}"
}Update an existing identity provider
Identity provider to update
| name required | string The internal name of the local identity provider |
Array of objects or null (LocalizedString) The display name of the local identity provider | |
Array of objects or null (LocalizedString) The description of the local identity provider | |
| type required | string Value: "Local" The type of identity provider |
| enabled required | boolean Whether the local identity provider can be used to identify against Horizon |
| enabledOnUI required | boolean Whether the local identity provider can be selected on login to the Horizon UI |
| passwordPolicy | string or null The password policy to enforce for user passwords on the local identity provider |
object or null (Email template) The e-mail template to use for password recovery |
{- "name": "local",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "type": "Local",
- "enabled": true,
- "enabledOnUI": true,
- "passwordPolicy": "Horizon-Default",
- "emailTemplate": {
- "to": [
- {
- "type": "static",
- "email": "some@adress.net",
- "label": "BU_ADDRESS"
}
], - "from": "noreply@horizon.evertrust.fr",
- "title": "Password recovery",
- "body": "You can reset your Horizon password at https://horizon.evertrust.fr/ui#/reset/{{reset.uuid}}. The link will expire on {{reset.expiration}}.",
- "isHtml": false
}
}{- "_id": "643821173000003d0014cdaf",
- "name": "local",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "type": "Local",
- "enabled": true,
- "enabledOnUI": true,
- "passwordPolicy": "Horizon-Default",
- "emailTemplate": {
- "to": [
- {
- "type": "static",
- "email": "some@adress.net",
- "label": "BU_ADDRESS"
}
], - "from": "noreply@horizon.evertrust.fr",
- "title": "Password recovery",
- "body": "You can reset your Horizon password at https://horizon.evertrust.fr/ui#/reset/{{reset.uuid}}. The link will expire on {{reset.expiration}}.",
- "isHtml": false
}
}Retrieve a existing identity provider based on its name
| name required | string The internal name of the identity provider to retrieve |
{- "_id": "643821173000003d0014cdaf",
- "name": "local",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "type": "Local",
- "enabled": true,
- "enabledOnUI": true,
- "passwordPolicy": "Horizon-Default",
- "emailTemplate": {
- "to": [
- {
- "type": "static",
- "email": "some@adress.net",
- "label": "BU_ADDRESS"
}
], - "from": "noreply@horizon.evertrust.fr",
- "title": "Password recovery",
- "body": "You can reset your Horizon password at https://horizon.evertrust.fr/ui#/reset/{{reset.uuid}}. The link will expire on {{reset.expiration}}.",
- "isHtml": false
}
}Delete an existing identity provider based on its name
| name required | string The internal name of the identity provider to retrieve |
{- "status": 400,
- "error": "SEC-IDPROV-006",
- "message": "Referenced identity provider",
- "title": "Referenced identity provider",
- "detail": "Details about the error"
}Retrieve which identity provider holds the authentication information for a given identifier or a given contact e-mail.
The principal search request
| identifier | string or null The identifier of the principal to search for |
| contact | string or null The contact e-mail of the principal to search for |
{- "identifier": "administrator",
- "contact": "admin-horizon@evertrust.fr"
}[- {
- "identifier": "administrator",
- "contact": "admin-horizon@evertrust.fr",
- "providerType": "Local",
- "providerName": "local"
}
]A password policy defines the rules that must be enforced for the password management in Horizon. They are used to enforce constraints on the local account, the PKCS#12 and the challenge passwords, and their generation.
Retrieve the list of all existing password policies, including the default one (Horizon-Default)
[- {
- "_id": "6448d56b310000400063f014",
- "name": "Horizon-Default",
- "minChar": 8,
- "maxChar": 24,
- "minUpChar": 1,
- "minLoChar": 1,
- "minDiChar": 1,
- "spChar": "!@#$%^&*()_+",
- "minSpChar": 1
}
]Create a new password policy. By default, Horizon has a default password policy named 'Horizon-Default' that enforces 16 bytes passwords
The password policy to register
| name required | string The name of the password policy |
| minChar required | integer <int32> The minimum number of characters of the password |
| maxChar | integer or null <int32> The maximum number of characters of the password |
| minUpChar | integer or null <int32> The minimum number of uppercase characters of the password |
| minLoChar | integer or null <int32> The minimum number of lowercase characters of the password |
| minDiChar | integer or null <int32> The minimum number of digits of the password |
| spChar | string or null The special characters of the password accepted by the password policy |
| minSpChar | integer or null <int32> The minimum number of special characters of the password |
{- "name": "Horizon-Default",
- "minChar": 8,
- "maxChar": 24,
- "minUpChar": 1,
- "minLoChar": 1,
- "minDiChar": 1,
- "spChar": "!@#$%^&*()_+",
- "minSpChar": 1
}{- "_id": "6448d56b310000400063f014",
- "name": "Horizon-Default",
- "minChar": 8,
- "maxChar": 24,
- "minUpChar": 1,
- "minLoChar": 1,
- "minDiChar": 1,
- "spChar": "!@#$%^&*()_+",
- "minSpChar": 1
}Update an existing password policy based on its internal name
The password policy to update
| name required | string The name of the password policy |
| minChar required | integer <int32> The minimum number of characters of the password |
| maxChar | integer or null <int32> The maximum number of characters of the password |
| minUpChar | integer or null <int32> The minimum number of uppercase characters of the password |
| minLoChar | integer or null <int32> The minimum number of lowercase characters of the password |
| minDiChar | integer or null <int32> The minimum number of digits of the password |
| spChar | string or null The special characters of the password accepted by the password policy |
| minSpChar | integer or null <int32> The minimum number of special characters of the password |
{- "name": "Horizon-Default",
- "minChar": 8,
- "maxChar": 24,
- "minUpChar": 1,
- "minLoChar": 1,
- "minDiChar": 1,
- "spChar": "!@#$%^&*()_+",
- "minSpChar": 1
}{- "_id": "6448d56b310000400063f014",
- "name": "Horizon-Default",
- "minChar": 8,
- "maxChar": 24,
- "minUpChar": 1,
- "minLoChar": 1,
- "minDiChar": 1,
- "spChar": "!@#$%^&*()_+",
- "minSpChar": 1
}Retrieve an existing password policy based on its internal name
| name required | string The internal name of the password policy to retrieve |
{- "_id": "6448d56b310000400063f014",
- "name": "Horizon-Default",
- "minChar": 8,
- "maxChar": 24,
- "minUpChar": 1,
- "minLoChar": 1,
- "minDiChar": 1,
- "spChar": "!@#$%^&*()_+",
- "minSpChar": 1
}Delete an existing password policy based on its internal name
| name required | string The internal name of the password policy to delete |
{- "status": 400,
- "error": "PASSWORD-POLICY-005",
- "message": "Referenced Password policy",
- "title": "Referenced Password policy",
- "detail": "Details about the error"
}Generate a random password compliant with a given password policy. If the given policy does not exist, generate a password based on default password policy (Horizon-Default)
| name required | string The internal name of the password policy that the generated password must comply with |
{- "status": 403,
- "error": "LIC-002",
- "message": "Invalid License",
- "title": "Invalid License",
- "detail": "Details about the error"
}A security principal represents a user in Horizon. It can be used to grant permissions to users, and to assign roles and teams to them.
Return the authenticated principal:
If not authenticated, a NoContent is returned.
{- "identity": {
- "identifier": "administrator",
- "email": "administrator@horizon.evertrust.fr",
- "name": "Administrator",
- "identityProviderType": "Local",
- "identityProviderName": "local",
- "certificate": "string"
}, - "permissions": [
- {
- "value": "lifecycle:*:*:enroll",
- "filter": "label.BusinessUnit equals \"BU1\""
}
], - "roles": [
- "SuperAdmin",
- "WebRA_Approver"
], - "teams": [
- "WinHorizon",
- "PKIOps"
], - "preferences": {
- "darkMode": false,
- "expertMode": false,
- "lang": "en",
- "certificateFields": [
- "profile",
- "module"
], - "requestFields": [
- "workflow",
- "module"
]
}, - "customDashboards": [
- {
- "name": "My Certificate Dashboard",
- "description": "Here I can see my certificates",
- "charts": [
- {
- "title": "Certificate status on the WebRA",
- "description": "Certificates grouped by validity status (expired, revoked or valid) on the WebRA",
- "type": "donut",
- "fields": [
- "status"
], - "limit": 100,
- "having": {
- "operator": "gt",
- "value": 5
}, - "sortOrder": "KeyAsc",
- "localQuery": "module in [\"webra\"]",
- "direction": "asc",
- "colors": [
- "#54B399",
- "#6092C0"
], - "i": "1",
- "x": 1,
- "y": 1,
- "w": 2,
- "h": 3,
- "log": true
}
], - "type": "certificate"
}
]
}Log out an authenticated Principal and flush cached authorization(s). If this method is called by an unauthenicated principal (anonymous), the REST call is nilpotent.
{- "status": 403,
- "error": "LIC-002",
- "message": "Invalid License",
- "title": "Invalid License",
- "detail": "Details about the error"
}Authenticate a principal and redirect (302) to the specified URL if authentication was successful. The redirect URL must be URL encoded.
| redirect required | string The URL to redirect to after successful authentication. The URL must be URL encoded. |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Create a new principal in Horizon
The principal's information to register
| identifier required | string The identifier of the principal |
| contact | string or null The contact e-mail of the principal |
Array of objects or null (Permission) The permissions of the principal | |
| roles | Array of strings or null The roles of the principal |
| teams | Array of strings or null The teams of the principal |
Array of objects or null (Principal queries) The saved HQL queries of the principal. This is used by UI only. These values should not be manually set but should be copied on update | |
Array of objects or null (Dashboard) The custom dashboards of the principal. This is used by UI only. These values should not be manually set but should be copied on update | |
object or null (Principal Preferences) The UI preferences of the principal. This is used by UI only. These values should not be manually set but should be copied on update | |
| enabled required | boolean If the principal is allowed to login horizon |
{- "identifier": "administrator",
- "contact": "administrator@horizon.evertrust.fr",
- "permissions": [
- {
- "value": "lifecycle:*:*:enroll",
- "filter": "label.BusinessUnit equals \"BU1\""
}
], - "roles": [
- "SuperAdmin",
- "webRA_Approver"
], - "teams": [
- "PKIOps",
- "CISO"
], - "savedQueries": [
- {
- "type": "hcql",
- "query": "status is valid and valid.until before 7 days",
- "name": "Certificates7Days",
- "description": "Valid certificates that will expire within 7 days"
}
], - "customDashboards": [
- {
- "name": "My Certificate Dashboard",
- "description": "Here I can see my certificates",
- "charts": [
- {
- "title": "Certificate status on the WebRA",
- "description": "Certificates grouped by validity status (expired, revoked or valid) on the WebRA",
- "type": "donut",
- "fields": [
- "status"
], - "limit": 100,
- "having": {
- "operator": "gt",
- "value": 5
}, - "sortOrder": "KeyAsc",
- "localQuery": "module in [\"webra\"]",
- "direction": "asc",
- "colors": [
- "#54B399",
- "#6092C0"
], - "i": "1",
- "x": 1,
- "y": 1,
- "w": 2,
- "h": 3,
- "log": true
}
], - "type": "certificate"
}
], - "preferences": {
- "darkMode": false,
- "expertMode": false,
- "lang": "en",
- "certificateFields": [
- "profile",
- "module"
], - "requestFields": [
- "workflow",
- "module"
]
}, - "enabled": true
}{- "_id": "6448d56b310000400063f014",
- "identifier": "administrator",
- "contact": "administrator@horizon.evertrust.fr",
- "permissions": [
- {
- "value": "lifecycle:*:*:enroll",
- "filter": "label.BusinessUnit equals \"BU1\""
}
], - "roles": [
- "SuperAdmin",
- "webRA_Approver"
], - "teams": [
- "PKIOps",
- "CISO"
], - "savedQueries": [
- {
- "type": "hcql",
- "query": "status is valid and valid.until before 7 days",
- "name": "Certificates7Days",
- "description": "Valid certificates that will expire within 7 days"
}
], - "customDashboards": [
- {
- "name": "My Certificate Dashboard",
- "description": "Here I can see my certificates",
- "charts": [
- {
- "title": "Certificate status on the WebRA",
- "description": "Certificates grouped by validity status (expired, revoked or valid) on the WebRA",
- "type": "donut",
- "fields": [
- "status"
], - "limit": 100,
- "having": {
- "operator": "gt",
- "value": 5
}, - "sortOrder": "KeyAsc",
- "localQuery": "module in [\"webra\"]",
- "direction": "asc",
- "colors": [
- "#54B399",
- "#6092C0"
], - "i": "1",
- "x": 1,
- "y": 1,
- "w": 2,
- "h": 3,
- "log": true
}
], - "type": "certificate"
}
], - "preferences": {
- "darkMode": false,
- "expertMode": false,
- "lang": "en",
- "certificateFields": [
- "profile",
- "module"
], - "requestFields": [
- "workflow",
- "module"
]
}, - "creationDate": 1601900000000,
- "lastAuthentication": 1601900000000,
- "lastModification": 1601900000000,
- "enabled": true
}Update an existing principal's information
The principal information to update
| identifier required | string The identifier of the principal |
| contact | string or null The contact e-mail of the principal |
Array of objects or null (Permission) The permissions of the principal | |
| roles | Array of strings or null The roles of the principal |
| teams | Array of strings or null The teams of the principal |
Array of objects or null (Principal queries) The saved HQL queries of the principal. This is used by UI only. These values should not be manually set but should be copied on update | |
Array of objects or null (Dashboard) The custom dashboards of the principal. This is used by UI only. These values should not be manually set but should be copied on update | |
object or null (Principal Preferences) The UI preferences of the principal. This is used by UI only. These values should not be manually set but should be copied on update | |
| enabled required | boolean If the principal is allowed to login horizon |
{- "identifier": "administrator",
- "contact": "administrator@horizon.evertrust.fr",
- "permissions": [
- {
- "value": "lifecycle:*:*:enroll",
- "filter": "label.BusinessUnit equals \"BU1\""
}
], - "roles": [
- "SuperAdmin",
- "webRA_Approver"
], - "teams": [
- "PKIOps",
- "CISO"
], - "savedQueries": [
- {
- "type": "hcql",
- "query": "status is valid and valid.until before 7 days",
- "name": "Certificates7Days",
- "description": "Valid certificates that will expire within 7 days"
}
], - "customDashboards": [
- {
- "name": "My Certificate Dashboard",
- "description": "Here I can see my certificates",
- "charts": [
- {
- "title": "Certificate status on the WebRA",
- "description": "Certificates grouped by validity status (expired, revoked or valid) on the WebRA",
- "type": "donut",
- "fields": [
- "status"
], - "limit": 100,
- "having": {
- "operator": "gt",
- "value": 5
}, - "sortOrder": "KeyAsc",
- "localQuery": "module in [\"webra\"]",
- "direction": "asc",
- "colors": [
- "#54B399",
- "#6092C0"
], - "i": "1",
- "x": 1,
- "y": 1,
- "w": 2,
- "h": 3,
- "log": true
}
], - "type": "certificate"
}
], - "preferences": {
- "darkMode": false,
- "expertMode": false,
- "lang": "en",
- "certificateFields": [
- "profile",
- "module"
], - "requestFields": [
- "workflow",
- "module"
]
}, - "enabled": true
}{- "_id": "6448d56b310000400063f014",
- "identifier": "administrator",
- "contact": "administrator@horizon.evertrust.fr",
- "permissions": [
- {
- "value": "lifecycle:*:*:enroll",
- "filter": "label.BusinessUnit equals \"BU1\""
}
], - "roles": [
- "SuperAdmin",
- "webRA_Approver"
], - "teams": [
- "PKIOps",
- "CISO"
], - "savedQueries": [
- {
- "type": "hcql",
- "query": "status is valid and valid.until before 7 days",
- "name": "Certificates7Days",
- "description": "Valid certificates that will expire within 7 days"
}
], - "customDashboards": [
- {
- "name": "My Certificate Dashboard",
- "description": "Here I can see my certificates",
- "charts": [
- {
- "title": "Certificate status on the WebRA",
- "description": "Certificates grouped by validity status (expired, revoked or valid) on the WebRA",
- "type": "donut",
- "fields": [
- "status"
], - "limit": 100,
- "having": {
- "operator": "gt",
- "value": 5
}, - "sortOrder": "KeyAsc",
- "localQuery": "module in [\"webra\"]",
- "direction": "asc",
- "colors": [
- "#54B399",
- "#6092C0"
], - "i": "1",
- "x": 1,
- "y": 1,
- "w": 2,
- "h": 3,
- "log": true
}
], - "type": "certificate"
}
], - "preferences": {
- "darkMode": false,
- "expertMode": false,
- "lang": "en",
- "certificateFields": [
- "profile",
- "module"
], - "requestFields": [
- "workflow",
- "module"
]
}, - "creationDate": 1601900000000,
- "lastAuthentication": 1601900000000,
- "lastModification": 1601900000000,
- "enabled": true
}Retrieve the security information of an existing principal based on its identifier
| identifier required | string The identifier of the principal to retrieve information of |
{- "_id": "6448d56b310000400063f014",
- "identifier": "administrator",
- "contact": "administrator@horizon.evertrust.fr",
- "permissions": [
- {
- "value": "lifecycle:*:*:enroll",
- "filter": "label.BusinessUnit equals \"BU1\""
}
], - "roles": [
- "SuperAdmin",
- "webRA_Approver"
], - "teams": [
- "PKIOps",
- "CISO"
], - "savedQueries": [
- {
- "type": "hcql",
- "query": "status is valid and valid.until before 7 days",
- "name": "Certificates7Days",
- "description": "Valid certificates that will expire within 7 days"
}
], - "customDashboards": [
- {
- "name": "My Certificate Dashboard",
- "description": "Here I can see my certificates",
- "charts": [
- {
- "title": "Certificate status on the WebRA",
- "description": "Certificates grouped by validity status (expired, revoked or valid) on the WebRA",
- "type": "donut",
- "fields": [
- "status"
], - "limit": 100,
- "having": {
- "operator": "gt",
- "value": 5
}, - "sortOrder": "KeyAsc",
- "localQuery": "module in [\"webra\"]",
- "direction": "asc",
- "colors": [
- "#54B399",
- "#6092C0"
], - "i": "1",
- "x": 1,
- "y": 1,
- "w": 2,
- "h": 3,
- "log": true
}
], - "type": "certificate"
}
], - "preferences": {
- "darkMode": false,
- "expertMode": false,
- "lang": "en",
- "certificateFields": [
- "profile",
- "module"
], - "requestFields": [
- "workflow",
- "module"
]
}, - "creationDate": 1601900000000,
- "lastAuthentication": 1601900000000,
- "lastModification": 1601900000000,
- "enabled": true
}Delete an existing principal based on its identifier
| identifier required | string The identifier of the principal to delete |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Search for principal information. Search criteria are combined using the 'or' operator
The principal information search request
| identifier | string or null The identifier of the principal |
| contact | string or null The contact e-mail of the principal |
| role | string or null The role of the principal |
| team | string or null The team of the principal |
| strictSearch | boolean or null Default: false If enabled, |
Array of objects or null (SortElement) How to sort the results of the search | |
| pageIndex | integer or null <int32> Which page result to display |
| pageSize | integer or null <int32> How many results to display per page |
| withCount | boolean or null Whether to include the total number of results in the response |
{- "identifier": "string",
- "contact": "string",
- "role": "string",
- "team": "string",
- "strictSearch": false,
- "sortedBy": [
- {
- "element": "notBefore",
- "order": "Asc"
}
], - "pageIndex": 0,
- "pageSize": 0,
- "withCount": true
}{- "results": [
- {
- "identifier": "administrator",
- "contact": "administrator@horizon.evertrust.fr",
- "permissions": [
- {
- "value": "lifecycle:*:*:enroll",
- "filter": "label.BusinessUnit equals \"BU1\""
}
], - "roles": [
- "SuperAdmin",
- "webRA_Approver"
], - "teams": [
- "PKIOps",
- "CISO"
], - "savedQueries": [
- {
- "type": "hcql",
- "query": "status is valid and valid.until before 7 days",
- "name": "Certificates7Days",
- "description": "Valid certificates that will expire within 7 days"
}
], - "customDashboards": [
- {
- "name": "My Certificate Dashboard",
- "description": "Here I can see my certificates",
- "charts": [
- {
- "title": "Certificate status on the WebRA",
- "description": "Certificates grouped by validity status (expired, revoked or valid) on the WebRA",
- "type": "donut",
- "fields": [
- "status"
], - "limit": 100,
- "having": {
- "operator": "gt",
- "value": 5
}, - "sortOrder": "KeyAsc",
- "localQuery": "module in [\"webra\"]",
- "direction": "asc",
- "colors": [
- "#54B399",
- "#6092C0"
], - "i": "1",
- "x": 1,
- "y": 1,
- "w": 2,
- "h": 3,
- "log": true
}
], - "type": "certificate"
}
], - "preferences": {
- "darkMode": false,
- "expertMode": false,
- "lang": "en",
- "certificateFields": [
- "profile",
- "module"
], - "requestFields": [
- "workflow",
- "module"
]
}, - "enabled": true
}
], - "pageIndex": 1,
- "pageSize": 20,
- "count": 15,
- "hasMore": true
}Use roles to apply a group of permissions to multiple users without having to assign each permission individually.
[- {
- "_id": "6448d56b310000400063f014",
- "name": "CanEnroll",
- "description": "Gives all enroll permissions to users",
- "permissions": [
- {
- "value": "lifecycle:*:*:enroll",
- "filter": "label.BusinessUnit equals \"BU1\""
}
]
}
]Create a new role in Horizon
| name required | string The name of the role |
| description | string or null The description of the role |
Array of objects or null (Permission) The role's permissions |
{- "name": "CanEnroll",
- "description": "Gives all enroll permissions to users",
- "permissions": [
- {
- "value": "lifecycle:*:*:enroll",
- "filter": "label.BusinessUnit equals \"BU1\""
}
]
}{- "_id": "6448d56b310000400063f014",
- "name": "CanEnroll",
- "description": "Gives all enroll permissions to users",
- "permissions": [
- {
- "value": "lifecycle:*:*:enroll",
- "filter": "label.BusinessUnit equals \"BU1\""
}
]
}Update an existing role
The role to update
| name required | string The name of the role |
| description | string or null The description of the role |
Array of objects or null (Permission) The role's permissions |
{- "name": "CanEnroll",
- "description": "Gives all enroll permissions to users",
- "permissions": [
- {
- "value": "lifecycle:*:*:enroll",
- "filter": "label.BusinessUnit equals \"BU1\""
}
]
}{- "_id": "6448d56b310000400063f014",
- "name": "CanEnroll",
- "description": "Gives all enroll permissions to users",
- "permissions": [
- {
- "value": "lifecycle:*:*:enroll",
- "filter": "label.BusinessUnit equals \"BU1\""
}
]
}Retrieves an existing role based on its name
| name required | string Example: SuperAdmin Role name |
{- "_id": "6448d56b310000400063f014",
- "name": "CanEnroll",
- "description": "Gives all enroll permissions to users",
- "permissions": [
- {
- "value": "lifecycle:*:*:enroll",
- "filter": "label.BusinessUnit equals \"BU1\""
}
]
}Delete an existing role based on its name
| name required | string Example: SuperAdmins Role name |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Teams are a way to enhance the ownership capabilities of the product. They are essentially a group of principals that own objects (certificates, requests) and do not grant any permission per se.
List all the existing team(s) in Horizon
[- {
- "_id": "6448d56b310000400063f014",
- "name": "PKIOps",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "contact": "pkiops@evertrust.fr",
- "webhook": {
- "type": "slack",
}, - "manager": "manager.pkiops@evertrust.fr",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}
]Create a new team in Horizon
Team to register
| name required | string The name of the team |
Array of objects or null (LocalizedString) The localized description of the team | |
| contact | string or null The generic contact e-mail of the Team |
object or null (Webhook Definition) The webhook of the team's corporate channel (Teams, Slack, Mattermost) | |
| manager | string or null The e-mail address of the team's manager |
Array of objects or null (LocalizedString) The localized display name of the team |
{- "name": "PKIOps",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "contact": "pkiops@evertrust.fr",
- "webhook": {
- "type": "slack",
}, - "manager": "manager.pkiops@evertrust.fr",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}{- "_id": "6448d56b310000400063f014",
- "name": "PKIOps",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "contact": "pkiops@evertrust.fr",
- "webhook": {
- "type": "slack",
}, - "manager": "manager.pkiops@evertrust.fr",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}Update an existing team's information
The team to update
| _id | any |
| name required | string The name of the team |
Array of objects or null (LocalizedString) The localized description of the team | |
| contact | string or null The generic contact e-mail of the Team |
object or null (Webhook Definition) The webhook of the team's corporate channel (Teams, Slack, Mattermost) | |
| manager | string or null The e-mail address of the team's manager |
Array of objects or null (LocalizedString) The localized display name of the team |
{- "_id": null,
- "name": "PKIOps",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "contact": "pkiops@evertrust.fr",
- "webhook": {
- "type": "slack",
}, - "manager": "manager.pkiops@evertrust.fr",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}{- "_id": "6448d56b310000400063f014",
- "name": "PKIOps",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "contact": "pkiops@evertrust.fr",
- "webhook": {
- "type": "slack",
}, - "manager": "manager.pkiops@evertrust.fr",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}Retrieve an existing team based on its name
| name required | string Example: PKIOps The name of the team to retrieve |
{- "_id": "6448d56b310000400063f014",
- "name": "PKIOps",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "contact": "pkiops@evertrust.fr",
- "webhook": {
- "type": "slack",
}, - "manager": "manager.pkiops@evertrust.fr",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}Delete an existing team based on its name
| name required | string Example: PKIOps The name of the team to delete |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Transfers all certificate(s) and request(s) from a previous team to an existing one
| previousTeam required | string Example: WinHorizon The name of the team to transfer objects from |
| newTeam required | string Example: PKIOps The name of the team to transfer objects to |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Retrieves a list of all existing Scim profiles
[- {
- "_id": "6448d56b310000400063f014",
- "name": "OktaScim",
- "description": "The Mapping for the Okta provisioning",
- "mailType": "home",
- "mappings": [
- {
- "group": "Devs",
- "role": "Okta-Dev-role"
}
]
}
]Create a new Scim profile in Horizon
| name required | string The name of the Scim profile |
| description | string or null The description of the Scim profile |
| mailType | string or null Default: "work" The mail type corresponds to the mail coming from the scim provider that must be synchronised in horizon. By default, the mail type is "work". |
Array of Scim mapping (object) or Scim mapping (object) or null The mapping used to synchronize user and group between the scim provider and Horizon. |
{- "name": "OktaScim",
- "description": "The Mapping for the Okta provisioning",
- "mailType": "home",
- "mappings": [
- {
- "group": "Devs",
- "role": "Okta-Dev-role"
}
]
}{- "_id": "6448d56b310000400063f014",
- "name": "OktaScim",
- "description": "The Mapping for the Okta provisioning",
- "mailType": "home",
- "mappings": [
- {
- "group": "Devs",
- "role": "Okta-Dev-role"
}
]
}Update an existing Scim profile
The Scim profile to update
| name required | string The name of the Scim profile |
| description | string or null The description of the Scim profile |
| mailType | string or null Default: "work" The mail type corresponds to the mail coming from the scim provider that must be synchronised in horizon. By default, the mail type is "work". |
Array of Scim mapping (object) or Scim mapping (object) or null The mapping used to synchronize user and group between the scim provider and Horizon. |
{- "name": "OktaScim",
- "description": "The Mapping for the Okta provisioning",
- "mailType": "home",
- "mappings": [
- {
- "group": "Devs",
- "role": "Okta-Dev-role"
}
]
}{- "_id": "6448d56b310000400063f014",
- "name": "OktaScim",
- "description": "The Mapping for the Okta provisioning",
- "mailType": "home",
- "mappings": [
- {
- "group": "Devs",
- "role": "Okta-Dev-role"
}
]
}Retrieves an existing Scim profile based on its name
| name required | string Example: OktaScim Scim profile name |
{- "_id": "6448d56b310000400063f014",
- "name": "OktaScim",
- "description": "The Mapping for the Okta provisioning",
- "mailType": "home",
- "mappings": [
- {
- "group": "Devs",
- "role": "Okta-Dev-role"
}
]
}Delete an existing Scim profile based on its name
| name required | string Example: OktaScim Scim profile name |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}A discovery campaign is an object that is required to perform any kind of discovery operation. It holds all the discovery metadata of the certificates that were discovered under a specific campaign.
List all the existing discovery campaign(s)
[- {
- "_id": "6448d56b310000400063f014",
- "name": "DiscoveryDMZ01",
- "description": "Discovery campaign that scans the DMZ 01",
- "authorizationLevels": {
- "search": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "feed": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}
}, - "eventOnSuccess": false,
- "eventOnWarning": false,
- "eventOnFailure": true,
- "hosts": [
- "horizon.evertrust.fr"
], - "ports": [
- "443"
], - "enabled": true,
- "gradingPolicies": [
- "Horizon-Grading-Policy"
]
}
]Create a new discovery campaign in Horizon
Discovery campaign to register
| name required | string The name of the discovery campaign |
| description | string or null The description of the discovery campaign |
required | object The authorization levels of the discovery campaign |
| eventOnSuccess required | boolean Whether to log a Horizon event in case of success |
| eventOnWarning required | boolean Whether to log a Horizon event in case of warning |
| eventOnFailure required | boolean Whether to log a Horizon event in case of failure |
| hosts | Array of strings or null The hosts to be scanned by the discovery campaign |
| ports | Array of strings or null Default: ["25","443","8443","689"] The ports to be scanned by the discovery campaign |
| enabled required | boolean Whether the discovery campaign is enabled, i.e. whether it can be fed |
| gradingPolicies | Array of strings or null The grading policies to apply to grade the discovered certificates on this campaign |
{- "name": "DiscoveryDMZ01",
- "description": "Discovery campaign that scans the DMZ 01",
- "authorizationLevels": {
- "search": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "feed": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}
}, - "eventOnSuccess": false,
- "eventOnWarning": false,
- "eventOnFailure": true,
- "hosts": [
- "horizon.evertrust.fr"
], - "ports": [
- "443"
], - "enabled": true,
- "gradingPolicies": [
- "Horizon-Grading-Policy"
]
}{- "_id": "6448d56b310000400063f014",
- "name": "DiscoveryDMZ01",
- "description": "Discovery campaign that scans the DMZ 01",
- "authorizationLevels": {
- "search": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "feed": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}
}, - "eventOnSuccess": false,
- "eventOnWarning": false,
- "eventOnFailure": true,
- "hosts": [
- "horizon.evertrust.fr"
], - "ports": [
- "443"
], - "enabled": true,
- "gradingPolicies": [
- "Horizon-Grading-Policy"
]
}Update an existing discovery campaign's information
Discovery campaign to update
| name required | string The name of the discovery campaign |
| description | string or null The description of the discovery campaign |
required | object The authorization levels of the discovery campaign |
| eventOnSuccess required | boolean Whether to log a Horizon event in case of success |
| eventOnWarning required | boolean Whether to log a Horizon event in case of warning |
| eventOnFailure required | boolean Whether to log a Horizon event in case of failure |
| hosts | Array of strings or null The hosts to be scanned by the discovery campaign |
| ports | Array of strings or null Default: ["25","443","8443","689"] The ports to be scanned by the discovery campaign |
| enabled required | boolean Whether the discovery campaign is enabled, i.e. whether it can be fed |
| gradingPolicies | Array of strings or null The grading policies to apply to grade the discovered certificates on this campaign |
{- "name": "DiscoveryDMZ01",
- "description": "Discovery campaign that scans the DMZ 01",
- "authorizationLevels": {
- "search": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "feed": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}
}, - "eventOnSuccess": false,
- "eventOnWarning": false,
- "eventOnFailure": true,
- "hosts": [
- "horizon.evertrust.fr"
], - "ports": [
- "443"
], - "enabled": true,
- "gradingPolicies": [
- "Horizon-Grading-Policy"
]
}{- "_id": "6448d56b310000400063f014",
- "name": "DiscoveryDMZ01",
- "description": "Discovery campaign that scans the DMZ 01",
- "authorizationLevels": {
- "search": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "feed": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}
}, - "eventOnSuccess": false,
- "eventOnWarning": false,
- "eventOnFailure": true,
- "hosts": [
- "horizon.evertrust.fr"
], - "ports": [
- "443"
], - "enabled": true,
- "gradingPolicies": [
- "Horizon-Grading-Policy"
]
}Retrieve a specific discovery campaign based on its name
| name required | string Example: Discovery-DMZ01 The name of the discovery campaign to retrieve |
{- "_id": "6448d56b310000400063f014",
- "name": "DiscoveryDMZ01",
- "description": "Discovery campaign that scans the DMZ 01",
- "authorizationLevels": {
- "search": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "feed": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}
}, - "eventOnSuccess": false,
- "eventOnWarning": false,
- "eventOnFailure": true,
- "hosts": [
- "horizon.evertrust.fr"
], - "ports": [
- "443"
], - "enabled": true,
- "gradingPolicies": [
- "Horizon-Grading-Policy"
]
}Delete an existing discovery campaign based on its name
| name required | string Example: Discovery-DMZ01 The name of the discovery campaign to delete |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Flush an existing discovery campaign based on its name. Flushing a discovery campaign will:
| name required | string The name of the discovery campaign to flush |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}The discovery feed allows a discovery client (like Horizon CLI) to push certificates into Horizon alongside with discovery data, let it be an unmanaged certificate that we want to be aware of or a managed one that we want to track the use of.
Create a new discovery feed session, starts it and raises the appropriate discovery event. This call will return the discovery feed session ID.
| name required | string The name of the discovery campaign to create a new feed session for |
{- "id": "6448d56b310000400063f014",
- "campaign": "Discovery-DMZ01",
- "description": "Discovery feed session for DMZ01",
- "eventOnSuccess": false,
- "eventOnWarning": false,
- "eventOnFailure": true,
- "hosts": [
- "string"
], - "ports": [
- 0
]
}Feed a discovered certificate into a discovery campaign
The discovery feed
| campaign required | string The name of the discovery campaign to feed into |
| sessionId | string or null The ID of the previously opened discovery feed session |
| code | string or null Enum: "NETSCAN" "IMPORTSCAN-UPDATE" "NETSCAN-UPDATE" "IMPORTSCAN-REGISTER" "LOCALIMPORT-REGISTER" "LOCALSCAN-UPDATE" "ACME-UPDATE" "WEBRA-UPDATE" "LOCALIMPORT" "WEBRA-REGISTER" "SESSION-START" "NETIMPORT-REGISTER" "ACME-REGISTER" "EST-REGISTER" "NETIMPORT-UPDATE" "SESSION-END" "WEBRA" "LOCALIMPORT-UPDATE" "EST" "IMPORTSCAN" "LOCALSCAN" "NETSCAN-REGISTER" "ACME" "NETIMPORT" "EST-UPDATE" "UNKNOWN" "LOCALSCAN-REGISTER" The code of the event to raise in the discovery events |
| certificate required | string The PEM-encoded certificate to feed the discovery campaign with |
required | object The host discovery data to feed the discovery campaign with (discovery metadata) |
Array of objects or null (Certificate Metadata) The list of certificate metadata to feed the discovery campaign with | |
| privateKey | string or null <PKCS#8 PEM encoded> The PEM-encoded private key to feed the discovery campaign with |
{- "campaign": "Discovery-DMZ01",
- "sessionId": "5f7b1b3b9b0b1d0001b9b0b1",
- "code": "NETSCAN-REGISTER",
- "certificate": "-----BEGIN CERTIFICATE-----...",
- "hostDiscoveryData": {
- "ip": "192.168.1.66",
- "sources": [
- "netscan"
], - "hostnames": [
- "docs.evertrust.fr"
], - "operatingSystems": [
- "windows"
], - "paths": [
- "/etc/ssl/cert.crt"
], - "usages": [
- "/usr/local/nginx/conf/nginx.conf"
], - "tlsPorts": [
- {
- "port": 443,
- "version": "TLSv1.2"
}
]
}, - "metadata": [
- {
- "key": "pki_connector",
- "value": "stream_connector"
}
], - "privateKey": "-----BEGIN PRIVATE KEY-----..."
}{- "status": 400,
- "error": "DISC-FEED-002",
- "message": "Invalid Discovery Feed"
}Push a new discovery event for a specific discovery feed session on a discovery campaign
The discovery event to push
| code required | string Enum: "NETSCAN" "IMPORTSCAN-UPDATE" "NETSCAN-UPDATE" "IMPORTSCAN-REGISTER" "LOCALIMPORT-REGISTER" "LOCALSCAN-UPDATE" "ACME-UPDATE" "WEBRA-UPDATE" "LOCALIMPORT" "WEBRA-REGISTER" "SESSION-START" "NETIMPORT-REGISTER" "ACME-REGISTER" "EST-REGISTER" "NETIMPORT-UPDATE" "SESSION-END" "WEBRA" "LOCALIMPORT-UPDATE" "EST" "IMPORTSCAN" "LOCALSCAN" "NETSCAN-REGISTER" "ACME" "NETIMPORT" "EST-UPDATE" "UNKNOWN" "LOCALSCAN-REGISTER" The code of the event to raise in the discovery events |
| campaign required | string The name of the discovery campaign concerned by the event |
| sessionId | string or null The ID of the discovery feed session |
| status required | string Enum: "success" "warning" "failure" The type of event to raise |
| errorCode | string or null The error code of the event |
| errorMessage | string or null The error message of the event |
| timestamp | integer or null <epoch> When did the event occur (Unix timestamp in milliseconds) |
| removeAt | integer or null <epoch> |
| clientVersion | string or null The version of the discovery client that raised the event |
| clientIp | string or null The IP of the machine where the Horizon client is running from |
| clientId | string or null |
| actorId | string or null The identifier of the principal that was used when the event was raised |
| certificateId | string or null The ID of the certificate concerned by the event (in Horizon) |
| hostname | string or null The hostname concerned by the event |
| ip | string or null The IP address concerned by the event |
| port | integer or null <int32> The TCP port concerned by the event |
| source | string or null The type of discovery that raised the event |
{- "code": "NETSCAN",
- "campaign": "Discovery-DMZ01",
- "sessionId": "63fce2e13000003c008797c4",
- "status": "failure",
- "errorCode": "DISC-FEED-002",
- "errorMessage": "Invalid Discovery Feed",
- "timestamp": 1600050000000,
- "removeAt": 0,
- "clientVersion": "Horizon Client/1.6",
- "clientIp": "127.0.0.1",
- "clientId": "28fd6b8ec75ce39029509c3e76ecd3c0bb160776df89a4a12f4a097862268721",
- "actorId": "horizon-client",
- "certificateId": "5f5f9b3b9b0b1d0311c3b0a2",
- "hostname": "horizon.evertrust.fr",
- "ip": "127.0.0.1",
- "port": 443,
- "source": "netscan"
}{- "status": 400,
- "error": "DISC-FEED-004",
- "message": "Invalid Discovery Feed"
}Ends an active discovery session and raises the appropriate discovery event
| campaign required | string Example: Discovery-DMZ01 The name of the discovery campaign where the session was started |
| id required | string Example: 63fce2e13000003c008797c4 The discovery session ID to end |
{- "status": 400,
- "error": "SEC-AUTH-007",
- "message": "Invalid Identity Provider",
- "title": "Invalid Identity Provider",
- "detail": "Details about the error"
}List the existing certificate authorities
[- {
- "certificate": {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}, - "name": "string",
- "subjectKeyIdentifier": "string",
- "responderUrl": "string",
- "crlUrl": "string",
- "refresh": "string",
- "trustedForClientAuthentication": true,
- "trustedForServerAuthentication": true,
- "outdatedRevocationStatusPolicy": "revoked",
- "timeout": "string",
- "proxy": "string",
- "cacheTimeToIdle": "string",
- "public": true,
- "downloadable": true
}
]Register a new certificate authority
Certificate authority to register
| certificate required | string |
| name required | string |
| subjectKeyIdentifier | string or null |
| responderUrl | string or null |
| crlUrl | string or null |
| refresh | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| trustedForClientAuthentication required | boolean |
| trustedForServerAuthentication required | boolean |
| outdatedRevocationStatusPolicy required | string Enum: "revoked" "unknown" "lastavailablestatus" |
| timeout | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| proxy | string or null |
| cacheTimeToIdle | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| public required | boolean |
| downloadable | boolean |
{- "certificate": "string",
- "name": "string",
- "subjectKeyIdentifier": "string",
- "responderUrl": "string",
- "crlUrl": "string",
- "refresh": "string",
- "trustedForClientAuthentication": true,
- "trustedForServerAuthentication": true,
- "outdatedRevocationStatusPolicy": "revoked",
- "timeout": "string",
- "proxy": "string",
- "cacheTimeToIdle": "string",
- "public": true,
- "downloadable": true
}{- "certificate": {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}, - "name": "string",
- "subjectKeyIdentifier": "string",
- "responderUrl": "string",
- "crlUrl": "string",
- "refresh": "string",
- "trustedForClientAuthentication": true,
- "trustedForServerAuthentication": true,
- "outdatedRevocationStatusPolicy": "revoked",
- "timeout": "string",
- "proxy": "string",
- "cacheTimeToIdle": "string",
- "public": true,
- "downloadable": true
}Update an existing certificate authority
Certificate authority to update
| certificate required | string |
| name required | string |
| subjectKeyIdentifier | string or null |
| responderUrl | string or null |
| crlUrl | string or null |
| refresh | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| trustedForClientAuthentication required | boolean |
| trustedForServerAuthentication required | boolean |
| outdatedRevocationStatusPolicy required | string Enum: "revoked" "unknown" "lastavailablestatus" |
| timeout | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| proxy | string or null |
| cacheTimeToIdle | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| public required | boolean |
| downloadable | boolean |
{- "certificate": "string",
- "name": "string",
- "subjectKeyIdentifier": "string",
- "responderUrl": "string",
- "crlUrl": "string",
- "refresh": "string",
- "trustedForClientAuthentication": true,
- "trustedForServerAuthentication": true,
- "outdatedRevocationStatusPolicy": "revoked",
- "timeout": "string",
- "proxy": "string",
- "cacheTimeToIdle": "string",
- "public": true,
- "downloadable": true
}{- "certificate": {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}, - "name": "string",
- "subjectKeyIdentifier": "string",
- "responderUrl": "string",
- "crlUrl": "string",
- "refresh": "string",
- "trustedForClientAuthentication": true,
- "trustedForServerAuthentication": true,
- "outdatedRevocationStatusPolicy": "revoked",
- "timeout": "string",
- "proxy": "string",
- "cacheTimeToIdle": "string",
- "public": true,
- "downloadable": true
}Delete an existing certificate authority based on its name
| name required | string |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Retrieve an existing certificate authority based on its name
| name required | string |
{- "certificate": {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}, - "name": "string",
- "subjectKeyIdentifier": "string",
- "responderUrl": "string",
- "crlUrl": "string",
- "refresh": "string",
- "trustedForClientAuthentication": true,
- "trustedForServerAuthentication": true,
- "outdatedRevocationStatusPolicy": "revoked",
- "timeout": "string",
- "proxy": "string",
- "cacheTimeToIdle": "string",
- "public": true,
- "downloadable": true
}List the public trust chains
[- {
- "name": "string",
- "certificate": {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}, - "subordinates": [
- {
- "name": "string",
- "certificate": {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}, - "subordinates": [
- { }
]
}
]
}
]Retrieve the trust chain for a specific public Certificate Authority based on the Certificate Authority name
| name required | string |
{- "name": "string",
- "certificate": {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}, - "subordinates": [
- {
- "name": "string",
- "certificate": {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}, - "subordinates": [
- { }
]
}
]
}Retrieve the CRL cache info for a specific certificate authority based on its name
| ca required | string |
{- "ca": "string",
- "number": 0,
- "issuerDn": "string",
- "thisUpdate": 0,
- "nextUpdate": 0,
- "lastRefresh": 0,
- "nextRefresh": 0,
- "size": 0,
- "error": "string"
}List the existing pki queue(s)
[- {
- "_id": "6448d56b310000400063f014",
- "name": "string",
- "description": "string",
- "throttleDuration": "5 seconds",
- "throttleParallelism": 0,
- "clusterWide": true,
- "size": 0
}
]Register a new pki queue
The pki queue to register
| name required | string |
| description | string or null |
| throttleDuration | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| throttleParallelism | integer or null <int32> |
| clusterWide required | boolean |
| size required | integer <int32> |
{- "name": "string",
- "description": "string",
- "throttleDuration": "5 seconds",
- "throttleParallelism": 0,
- "clusterWide": true,
- "size": 0
}{- "_id": "6448d56b310000400063f014",
- "name": "string",
- "description": "string",
- "throttleDuration": "5 seconds",
- "throttleParallelism": 0,
- "clusterWide": true,
- "size": 0
}Update an existing pki queue
The pki queue to update
| name required | string |
| description | string or null |
| throttleDuration | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| throttleParallelism | integer or null <int32> |
| clusterWide required | boolean |
| size required | integer <int32> |
{- "name": "string",
- "description": "string",
- "throttleDuration": "5 seconds",
- "throttleParallelism": 0,
- "clusterWide": true,
- "size": 0
}{- "_id": "6448d56b310000400063f014",
- "name": "string",
- "description": "string",
- "throttleDuration": "5 seconds",
- "throttleParallelism": 0,
- "clusterWide": true,
- "size": 0
}Delete an existing pki queue based on its name
| name required | string |
{- "status": 400,
- "error": "PKI-QUEUE-005",
- "message": "Referenced PKI Queue",
- "title": "Referenced PKI Queue",
- "detail": "Details about the error"
}Retrieve an existing pki queue based on its name
| name required | string |
{- "_id": "6448d56b310000400063f014",
- "name": "string",
- "description": "string",
- "throttleDuration": "5 seconds",
- "throttleParallelism": 0,
- "clusterWide": true,
- "size": 0
}List the existing PKI connector(s)
[- {
- "_id": "6448d56b310000400063f014",
- "name": "string",
- "type": "stream",
- "endPoint": "string",
- "template": "string",
- "ca": "string",
- "loginCredentials": "myPasswordCredentials",
- "authenticationCredentials": "myCertificateCredentials",
- "timeout": "5 seconds",
- "proxy": "string",
- "queue": "string",
- "status": {
- "lastCheck": 1729861389720,
- "status": "success",
- "message": "string"
}
}
]Register a new PKI connector
PKI connector to register
| name required | string |
| type required | string Value: "stream" |
| endPoint required | string Stream's base endpoint |
| template required | string Stream's certificate template to use for enrollment |
| ca required | string Stream's technical name of the CA on which to enroll |
| loginCredentials | string or null Name of the |
| authenticationCredentials | string or null Name of the |
| timeout | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| proxy | string or null |
| queue | string or null |
{- "name": "string",
- "type": "stream",
- "endPoint": "string",
- "template": "string",
- "ca": "string",
- "loginCredentials": "myPasswordCredentials",
- "authenticationCredentials": "myCertificateCredentials",
- "timeout": "5 seconds",
- "proxy": "string",
- "queue": "string"
}{- "_id": "6448d56b310000400063f014",
- "name": "string",
- "type": "stream",
- "endPoint": "string",
- "template": "string",
- "ca": "string",
- "loginCredentials": "myPasswordCredentials",
- "authenticationCredentials": "myCertificateCredentials",
- "timeout": "5 seconds",
- "proxy": "string",
- "queue": "string",
- "status": {
- "lastCheck": 1729861389720,
- "status": "success",
- "message": "string"
}
}Update an existing PKI connector
PKI connector to update
| name required | string |
| type required | string Value: "stream" |
| endPoint required | string Stream's base endpoint |
| template required | string Stream's certificate template to use for enrollment |
| ca required | string Stream's technical name of the CA on which to enroll |
| loginCredentials | string or null Name of the |
| authenticationCredentials | string or null Name of the |
| timeout | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| proxy | string or null |
| queue | string or null |
{- "name": "string",
- "type": "stream",
- "endPoint": "string",
- "template": "string",
- "ca": "string",
- "loginCredentials": "myPasswordCredentials",
- "authenticationCredentials": "myCertificateCredentials",
- "timeout": "5 seconds",
- "proxy": "string",
- "queue": "string"
}{- "_id": "6448d56b310000400063f014",
- "name": "string",
- "type": "stream",
- "endPoint": "string",
- "template": "string",
- "ca": "string",
- "loginCredentials": "myPasswordCredentials",
- "authenticationCredentials": "myCertificateCredentials",
- "timeout": "5 seconds",
- "proxy": "string",
- "queue": "string",
- "status": {
- "lastCheck": 1729861389720,
- "status": "success",
- "message": "string"
}
}Retrieve an existing PKI connector based on its name
| name required | string |
{- "_id": "6448d56b310000400063f014",
- "name": "string",
- "type": "stream",
- "endPoint": "string",
- "template": "string",
- "ca": "string",
- "loginCredentials": "myPasswordCredentials",
- "authenticationCredentials": "myCertificateCredentials",
- "timeout": "5 seconds",
- "proxy": "string",
- "queue": "string",
- "status": {
- "lastCheck": 1729861389720,
- "status": "success",
- "message": "string"
}
}Delete an existing PKI connector based on its name
| name required | string |
{- "status": 400,
- "error": "PKI-CONNECTOR-005",
- "message": "Referenced PKI Connector",
- "title": "Referenced PKI Connector",
- "detail": "Details about the error"
}Credentials regroup all third parties authentication secrets for secure and easy management.
Retrieves a list of all existing credentials
[- {
- "expires": 1683021380000,
- "type": "certificate",
- "store": {
- "certificate": {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}
}, - "name": "My credentials",
- "description": "To authenticate on Stream",
- "triggers": {
- "onCredentialsExpiration": [
- "string"
]
}, - "targets": [
- "pkiconnector"
]
}
]Create new credentials in Horizon
| type required | string Value: "x509" These credentials type |
required | object (Certificate And Key Storage) These credentials certificate |
| name required | string These credentials identifying name |
| description | string or null These credentials description |
| expires | integer or null <epoch> The expiration date of these credentials |
object Triggers to run for these credentials | |
| targets | Array of strings Items Enum: "pkiconnector" "scepra" "oidc" "thirdparty" "mdm" "exchange" "rest" "datasource" "proxy" On which configuration the credentials are usable |
{- "type": "certificate",
- "store": {
- "certificate": "-----BEGIN CERTIFICATE-----...",
- "value": "-----BEGIN PRIVATE KEY-----..."
}, - "name": "My credentials",
- "description": "To authenticate on Stream",
- "expires": 1683021380000,
- "triggers": {
- "onCredentialsExpiration": [
- "string"
]
}, - "targets": [
- "pkiconnector"
]
}{- "expires": 1683021380000,
- "type": "certificate",
- "store": {
- "certificate": {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}
}, - "name": "My credentials",
- "description": "To authenticate on Stream",
- "triggers": {
- "onCredentialsExpiration": [
- "string"
]
}, - "targets": [
- "pkiconnector"
]
}Update existing credentials
The credentials to update
| type required | string Value: "x509" These credentials type |
required | object (Certificate And Key Storage) These credentials certificate |
| name required | string These credentials identifying name |
| description | string or null These credentials description |
| expires | integer or null <epoch> The expiration date of these credentials |
object Triggers to run for these credentials | |
| targets | Array of strings Items Enum: "pkiconnector" "scepra" "oidc" "thirdparty" "mdm" "exchange" "rest" "datasource" "proxy" On which configuration the credentials are usable |
{- "type": "certificate",
- "store": {
- "certificate": "-----BEGIN CERTIFICATE-----...",
- "value": "-----BEGIN PRIVATE KEY-----..."
}, - "name": "My credentials",
- "description": "To authenticate on Stream",
- "expires": 1683021380000,
- "triggers": {
- "onCredentialsExpiration": [
- "string"
]
}, - "targets": [
- "pkiconnector"
]
}{- "expires": 1683021380000,
- "type": "certificate",
- "store": {
- "certificate": {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}
}, - "name": "My credentials",
- "description": "To authenticate on Stream",
- "triggers": {
- "onCredentialsExpiration": [
- "string"
]
}, - "targets": [
- "pkiconnector"
]
}Retrieves existing credentials based on its name
| name required | string Example: SuperAdmin Credentials name |
{- "expires": 1683021380000,
- "type": "certificate",
- "store": {
- "certificate": {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}
}, - "name": "My credentials",
- "description": "To authenticate on Stream",
- "triggers": {
- "onCredentialsExpiration": [
- "string"
]
}, - "targets": [
- "pkiconnector"
]
}Delete existing credentials based on its name
| name required | string Example: SuperAdmins Credentials name |
{- "status": 400,
- "error": "CREDENTIALS-005",
- "message": "Referenced Credentials",
- "title": "Referenced Credentials",
- "detail": "Details about the error"
}These actions includes two categories:
While being very different on the functional side, these two categories follow the same behavior and are both configured using this API.
List the existing trigger(s) with the capability to filter on type and/or module.
| types | Array of strings Items Enum: "akv" "aws" "email" "f5client" "intunepkcs" "ldappub" "gcm" |
| module | string or null Enum: "acme" "est" "aws" "f5client" "intune" "jamf" "scep" "wcce" "webra" "intunepkcs" |
[- {
- "type": "string",
- "emailTemplate": {
- "to": [
- {
- "type": "static",
- "email": "some@adress.net",
- "label": "BU_ADDRESS"
}
], - "from": "noreply@horizon.evertrust.fr",
- "title": "Password recovery",
- "body": "You can reset your Horizon password at https://horizon.evertrust.fr/ui#/reset/{{reset.uuid}}. The link will expire on {{reset.expiration}}.",
- "isHtml": false
}, - "ifPkcs12": true,
- "attachPemCertificate": true,
- "attachPemBundle": true,
- "attachDerCertificate": true,
- "attachPkcs7": true,
- "attachPkcs7Bundle": true,
- "attachPkcs12": true,
- "name": "NOTIFICATION_ENROLL",
- "retries": 10,
- "runPeriod": "5 days",
- "licenseUsagePercent": 50,
- "events": [
- "on_enroll"
], - "runOnRenewed": null
}
]Register a new trigger
The trigger to register
| type required | string Value: "email" The type of notification |
required | object (Email template) Where and what to send in the email |
| ifPkcs12 | boolean or null On events triggering an enrollment, select if mail is sent:
|
| attachPemCertificate | boolean or null Attach the certificate in PEM format if available |
| attachPemBundle | boolean or null Attach the certificate and its trust chain (bundle) in PEM format if available |
| attachDerCertificate | boolean or null Attach the certificate in DER format if available |
| attachPkcs7 | boolean or null Attach the certificate in PKCS7 format if available |
| attachPkcs7Bundle | boolean or null Attach the certificate and its trust chain (bundle) in PKCS7 format if available |
| attachPkcs12 | boolean or null Attach the certificate in PKCS#12 format if available |
| name required | string Name of the notification |
| retries | integer or null Number of retries when the notification fails |
| runPeriod | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... Time period at which the notification needs to run. Can only be defined on expiration and pending events. |
| licenseUsagePercent | integer or null License usage at which the notification needs to run (between 0 and 100). Must be defined on |
| events required | Array of strings Items Enum: "on_enroll" "on_submit_enroll" "on_approve_enroll" "on_deny_enroll" "on_cancel_enroll" "on_pending_enroll" "on_renew" "on_submit_renew" "on_approve_renew" "on_deny_renew" "on_cancel_renew" "on_pending_renew" "on_update" "on_submit_update" "on_approve_update" "on_deny_update" "on_cancel_update" "on_pending_update" "on_migrate" "on_submit_migrate" "on_approve_migrate" "on_deny_migrate" "on_cancel_migrate" "on_pending_migrate" "on_recover" "on_submit_recover" "on_approve_recover" "on_deny_recover" "on_cancel_recover" "on_pending_recover" "on_revoke" "on_submit_revoke" "on_approve_revoke" "on_deny_revoke" "on_cancel_revoke" "on_pending_revoke" "on_import" "on_submit_import" "on_approve_import" "on_deny_import" "on_cancel_import" "on_pending_import" "on_expire" "on_credentials_expiration" "on_license_expiration" "on_license_usage" "on_test" "on_trigger_error" Event on which the notification runs. This MUST contain only one value. |
| runOnRenewed | boolean or null Must be defined on |
{- "type": "email",
- "emailTemplate": {
- "to": [
- {
- "type": "static",
- "email": "some@adress.net",
- "label": "BU_ADDRESS"
}
], - "from": "noreply@horizon.evertrust.fr",
- "title": "Password recovery",
- "body": "You can reset your Horizon password at https://horizon.evertrust.fr/ui#/reset/{{reset.uuid}}. The link will expire on {{reset.expiration}}.",
- "isHtml": false
}, - "ifPkcs12": true,
- "attachPemCertificate": true,
- "attachPemBundle": true,
- "attachDerCertificate": true,
- "attachPkcs7": true,
- "attachPkcs7Bundle": true,
- "attachPkcs12": true,
- "name": "NOTIFICATION_ENROLL",
- "retries": 10,
- "runPeriod": "5 days",
- "licenseUsagePercent": 50,
- "events": [
- "on_enroll"
], - "runOnRenewed": null
}{- "type": "email",
- "emailTemplate": {
- "to": [
- {
- "type": "static",
- "email": "some@adress.net",
- "label": "BU_ADDRESS"
}
], - "from": "noreply@horizon.evertrust.fr",
- "title": "Password recovery",
- "body": "You can reset your Horizon password at https://horizon.evertrust.fr/ui#/reset/{{reset.uuid}}. The link will expire on {{reset.expiration}}.",
- "isHtml": false
}, - "ifPkcs12": true,
- "attachPemCertificate": true,
- "attachPemBundle": true,
- "attachDerCertificate": true,
- "attachPkcs7": true,
- "attachPkcs7Bundle": true,
- "attachPkcs12": true,
- "name": "NOTIFICATION_ENROLL",
- "retries": 10,
- "runPeriod": "5 days",
- "licenseUsagePercent": 50,
- "events": [
- "on_enroll"
], - "runOnRenewed": null
}Update an existing trigger
Trigger to update
| type required | string Value: "email" The type of notification |
required | object (Email template) Where and what to send in the email |
| ifPkcs12 | boolean or null On events triggering an enrollment, select if mail is sent:
|
| attachPemCertificate | boolean or null Attach the certificate in PEM format if available |
| attachPemBundle | boolean or null Attach the certificate and its trust chain (bundle) in PEM format if available |
| attachDerCertificate | boolean or null Attach the certificate in DER format if available |
| attachPkcs7 | boolean or null Attach the certificate in PKCS7 format if available |
| attachPkcs7Bundle | boolean or null Attach the certificate and its trust chain (bundle) in PKCS7 format if available |
| attachPkcs12 | boolean or null Attach the certificate in PKCS#12 format if available |
| name required | string Name of the notification |
| retries | integer or null Number of retries when the notification fails |
| runPeriod | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... Time period at which the notification needs to run. Can only be defined on expiration and pending events. |
| licenseUsagePercent | integer or null License usage at which the notification needs to run (between 0 and 100). Must be defined on |
| events required | Array of strings Items Enum: "on_enroll" "on_submit_enroll" "on_approve_enroll" "on_deny_enroll" "on_cancel_enroll" "on_pending_enroll" "on_renew" "on_submit_renew" "on_approve_renew" "on_deny_renew" "on_cancel_renew" "on_pending_renew" "on_update" "on_submit_update" "on_approve_update" "on_deny_update" "on_cancel_update" "on_pending_update" "on_migrate" "on_submit_migrate" "on_approve_migrate" "on_deny_migrate" "on_cancel_migrate" "on_pending_migrate" "on_recover" "on_submit_recover" "on_approve_recover" "on_deny_recover" "on_cancel_recover" "on_pending_recover" "on_revoke" "on_submit_revoke" "on_approve_revoke" "on_deny_revoke" "on_cancel_revoke" "on_pending_revoke" "on_import" "on_submit_import" "on_approve_import" "on_deny_import" "on_cancel_import" "on_pending_import" "on_expire" "on_credentials_expiration" "on_license_expiration" "on_license_usage" "on_test" "on_trigger_error" Event on which the notification runs. This MUST contain only one value. |
| runOnRenewed | boolean or null Must be defined on |
{- "type": "email",
- "emailTemplate": {
- "to": [
- {
- "type": "static",
- "email": "some@adress.net",
- "label": "BU_ADDRESS"
}
], - "from": "noreply@horizon.evertrust.fr",
- "title": "Password recovery",
- "body": "You can reset your Horizon password at https://horizon.evertrust.fr/ui#/reset/{{reset.uuid}}. The link will expire on {{reset.expiration}}.",
- "isHtml": false
}, - "ifPkcs12": true,
- "attachPemCertificate": true,
- "attachPemBundle": true,
- "attachDerCertificate": true,
- "attachPkcs7": true,
- "attachPkcs7Bundle": true,
- "attachPkcs12": true,
- "name": "NOTIFICATION_ENROLL",
- "retries": 10,
- "runPeriod": "5 days",
- "licenseUsagePercent": 50,
- "events": [
- "on_enroll"
], - "runOnRenewed": null
}{- "type": "email",
- "emailTemplate": {
- "to": [
- {
- "type": "static",
- "email": "some@adress.net",
- "label": "BU_ADDRESS"
}
], - "from": "noreply@horizon.evertrust.fr",
- "title": "Password recovery",
- "body": "You can reset your Horizon password at https://horizon.evertrust.fr/ui#/reset/{{reset.uuid}}. The link will expire on {{reset.expiration}}.",
- "isHtml": false
}, - "ifPkcs12": true,
- "attachPemCertificate": true,
- "attachPemBundle": true,
- "attachDerCertificate": true,
- "attachPkcs7": true,
- "attachPkcs7Bundle": true,
- "attachPkcs12": true,
- "name": "NOTIFICATION_ENROLL",
- "retries": 10,
- "runPeriod": "5 days",
- "licenseUsagePercent": 50,
- "events": [
- "on_enroll"
], - "runOnRenewed": null
}Test an existing trigger
Trigger to test and its dictionary
required | Email Notification (object) or Webhook Notification (Groupware) (object) or REST notification (object) The trigger to test |
Array of objects or null (Map entry) Dictionary that will be interpreted by the trigger |
{- "trigger": {
- "type": "string",
- "emailTemplate": {
- "to": [
- {
- "type": "static",
- "email": "some@adress.net",
- "label": "BU_ADDRESS"
}
], - "from": "noreply@horizon.evertrust.fr",
- "title": "Password recovery",
- "body": "You can reset your Horizon password at https://horizon.evertrust.fr/ui#/reset/{{reset.uuid}}. The link will expire on {{reset.expiration}}.",
- "isHtml": false
}, - "ifPkcs12": true,
- "attachPemCertificate": true,
- "attachPemBundle": true,
- "attachDerCertificate": true,
- "attachPkcs7": true,
- "attachPkcs7Bundle": true,
- "attachPkcs12": true,
- "name": "NOTIFICATION_ENROLL",
- "retries": 10,
- "runPeriod": "5 days",
- "licenseUsagePercent": 50,
- "events": [
- "on_enroll"
], - "runOnRenewed": null
}, - "dictionary": [
- {
- "key": "cn.1",
- "value": "Evertrust"
}
]
}{- "status": "success",
- "message": "Email successfully sent to test@evertrust.io"
}Retrieve an existing trigger based on its name
| name required | string |
{- "type": "email",
- "emailTemplate": {
- "to": [
- {
- "type": "static",
- "email": "some@adress.net",
- "label": "BU_ADDRESS"
}
], - "from": "noreply@horizon.evertrust.fr",
- "title": "Password recovery",
- "body": "You can reset your Horizon password at https://horizon.evertrust.fr/ui#/reset/{{reset.uuid}}. The link will expire on {{reset.expiration}}.",
- "isHtml": false
}, - "ifPkcs12": true,
- "attachPemCertificate": true,
- "attachPemBundle": true,
- "attachDerCertificate": true,
- "attachPkcs7": true,
- "attachPkcs7Bundle": true,
- "attachPkcs12": true,
- "name": "NOTIFICATION_ENROLL",
- "retries": 10,
- "runPeriod": "5 days",
- "licenseUsagePercent": 50,
- "events": [
- "on_enroll"
], - "runOnRenewed": null
}Delete an existing trigger based on its name
| name required | string |
{- "status": 400,
- "error": "TRIG-005",
- "message": "Referenced Trigger",
- "title": "Referenced Trigger",
- "detail": "Details about the error"
}Scheduled tasks allow operations to be run on a recurring schedule using CRON expressions. Lifecycle or reporting schedule tasks can be created.
List the existing scheduled task(s)
| scheduledTaskType | string or null |
[- {
- "_id": "6448d56b310000400063f014",
- "type": "report",
- "cron": "string",
- "host": "string",
- "status": "warning",
- "lastExecutionDate": 0,
- "lastCompletionDate": 0,
- "detail": "string",
- "executionId": "string",
- "enabled": true,
- "name": "string",
- "fileName": "string",
- "recipients": [
- {
- "type": "static",
- "email": "string",
- "team": "string"
}
], - "from": "string",
- "title": "string",
- "body": "string",
- "isHtml": true,
- "compressCsv": true,
- "hqlType": "heql",
- "hqlQuery": "string",
- "hqlFields": [
- "string"
], - "hqlSortedBy": [
- {
- "element": "notBefore",
- "order": "Asc"
}
], - "description": "string"
}
]Register a new scheduled task
Scheduled task to register
| type required | string Value: "report" |
| cron required | string <Quartz Cron> |
| host | string or null |
| status | string or null Enum: "warning" "failure" "success" "running" |
| lastExecutionDate | integer or null <epoch> |
| lastCompletionDate | integer or null <epoch> |
| detail | string or null |
| executionId | string or null |
| enabled required | boolean |
| name required | string |
| fileName | string or null |
required | Array of objects (ReportRecipient) |
| from required | string |
| title required | string |
| body | string or null |
| isHtml required | boolean |
| compressCsv | boolean Should the report be compressed using GZ. It will divide by two the size of the csv |
| hqlType required | string Enum: "heql" "hcql" "hrql" "hpql" "hdql" |
| hqlQuery | string or null |
| hqlFields | Array of strings or null |
Array of objects or null (SortElement) | |
| description | string or null |
{- "type": "report",
- "cron": "string",
- "host": "string",
- "status": "warning",
- "lastExecutionDate": 0,
- "lastCompletionDate": 0,
- "detail": "string",
- "executionId": "string",
- "enabled": true,
- "name": "string",
- "fileName": "string",
- "recipients": [
- {
- "type": "static",
- "email": "string",
- "team": "string"
}
], - "from": "string",
- "title": "string",
- "body": "string",
- "isHtml": true,
- "compressCsv": true,
- "hqlType": "heql",
- "hqlQuery": "string",
- "hqlFields": [
- "string"
], - "hqlSortedBy": [
- {
- "element": "notBefore",
- "order": "Asc"
}
], - "description": "string"
}{- "_id": "6448d56b310000400063f014",
- "type": "report",
- "cron": "string",
- "host": "string",
- "status": "warning",
- "lastExecutionDate": 0,
- "lastCompletionDate": 0,
- "detail": "string",
- "executionId": "string",
- "enabled": true,
- "name": "string",
- "fileName": "string",
- "recipients": [
- {
- "type": "static",
- "email": "string",
- "team": "string"
}
], - "from": "string",
- "title": "string",
- "body": "string",
- "isHtml": true,
- "compressCsv": true,
- "hqlType": "heql",
- "hqlQuery": "string",
- "hqlFields": [
- "string"
], - "hqlSortedBy": [
- {
- "element": "notBefore",
- "order": "Asc"
}
], - "description": "string"
}Update an existing scheduled task
Scheduled task to update
| type required | string Value: "thirdparty" |
| cron required | string <Quartz Cron> |
| host | string or null |
| status | string or null Enum: "warning" "failure" "success" "running" |
| lastExecutionDate | integer or null <epoch> |
| lastCompletionDate | integer or null <epoch> |
| detail | string or null |
| dryRun required | boolean |
| executionId | string or null |
| enabled required | boolean |
| module required | string |
| profile required | string |
| connector required | string |
| enroll required | boolean |
| revoke required | boolean |
| renew required | boolean |
object or null | |
| description | string or null |
{- "type": "thirdparty",
- "cron": "string",
- "host": "string",
- "status": "warning",
- "lastExecutionDate": 0,
- "lastCompletionDate": 0,
- "detail": "string",
- "dryRun": true,
- "executionId": "string",
- "enabled": true,
- "module": "string",
- "profile": "string",
- "connector": "string",
- "enroll": true,
- "revoke": true,
- "renew": true,
- "results": {
- "enroll_success": 0,
- "enroll_failure": 0,
- "renew_success": 0,
- "renew_failure": 0,
- "revoke_success": 0,
- "revoke_failure": 0
}, - "description": "string"
}{- "_id": "6448d56b310000400063f014",
- "type": "thirdparty",
- "cron": "string",
- "host": "string",
- "status": "warning",
- "lastExecutionDate": 0,
- "lastCompletionDate": 0,
- "detail": "string",
- "dryRun": true,
- "executionId": "string",
- "enabled": true,
- "module": "string",
- "profile": "string",
- "connector": "string",
- "enroll": true,
- "revoke": true,
- "renew": true,
- "results": {
- "enroll_success": 0,
- "enroll_failure": 0,
- "renew_success": 0,
- "renew_failure": 0,
- "revoke_success": 0,
- "revoke_failure": 0
}, - "description": "string"
}Run an existing scheduled task based on its id
| id required | string |
{- "status": 400,
- "error": "SCHED-TASK-002",
- "message": "Invalid Scheduled Task",
- "title": "Invalid Scheduled Task",
- "detail": "Details about the error"
}Retrieve an existing scheduled task based on its id
| id required | string |
{- "_id": "6448d56b310000400063f014",
- "type": "report",
- "cron": "string",
- "host": "string",
- "status": "warning",
- "lastExecutionDate": 0,
- "lastCompletionDate": 0,
- "detail": "string",
- "executionId": "string",
- "enabled": true,
- "name": "string",
- "fileName": "string",
- "recipients": [
- {
- "type": "static",
- "email": "string",
- "team": "string"
}
], - "from": "string",
- "title": "string",
- "body": "string",
- "isHtml": true,
- "compressCsv": true,
- "hqlType": "heql",
- "hqlQuery": "string",
- "hqlFields": [
- "string"
], - "hqlSortedBy": [
- {
- "element": "notBefore",
- "order": "Asc"
}
], - "description": "string"
}Delete an existing scheduled task based on its id
| id required | string |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}List the existing execution policies
[- {
- "_id": "6448d56b310000400063f014",
- "name": "string",
- "description": "string",
- "authorizedPeriods": [
- {
- "dateRange": {
- "start": "2019-08-24",
- "end": "2019-08-24"
}, - "weeks": [
- 0
], - "weekDays": [
- "MONDAY"
], - "timeRange": "string"
}
], - "forbiddenPeriods": [
- {
- "dateRange": {
- "start": "2019-08-24",
- "end": "2019-08-24"
}, - "weeks": [
- 0
], - "weekDays": [
- "MONDAY"
], - "timeRange": "string"
}
]
}
]Register a new execution policy
Execution policy to register
| name required | string |
| description | string or null |
Array of objects or null (ExecutionPeriod) | |
Array of objects or null (ExecutionPeriod) |
{- "name": "string",
- "description": "string",
- "authorizedPeriods": [
- {
- "dateRange": {
- "start": "2019-08-24",
- "end": "2019-08-24"
}, - "weeks": [
- 0
], - "weekDays": [
- "MONDAY"
], - "timeRange": "string"
}
], - "forbiddenPeriods": [
- {
- "dateRange": {
- "start": "2019-08-24",
- "end": "2019-08-24"
}, - "weeks": [
- 0
], - "weekDays": [
- "MONDAY"
], - "timeRange": "string"
}
]
}{- "_id": "6448d56b310000400063f014",
- "name": "string",
- "description": "string",
- "authorizedPeriods": [
- {
- "dateRange": {
- "start": "2019-08-24",
- "end": "2019-08-24"
}, - "weeks": [
- 0
], - "weekDays": [
- "MONDAY"
], - "timeRange": "string"
}
], - "forbiddenPeriods": [
- {
- "dateRange": {
- "start": "2019-08-24",
- "end": "2019-08-24"
}, - "weeks": [
- 0
], - "weekDays": [
- "MONDAY"
], - "timeRange": "string"
}
]
}Update an existing execution policy
Execution policy to update
| name required | string |
| description | string or null |
Array of objects or null (ExecutionPeriod) | |
Array of objects or null (ExecutionPeriod) |
{- "name": "string",
- "description": "string",
- "authorizedPeriods": [
- {
- "dateRange": {
- "start": "2019-08-24",
- "end": "2019-08-24"
}, - "weeks": [
- 0
], - "weekDays": [
- "MONDAY"
], - "timeRange": "string"
}
], - "forbiddenPeriods": [
- {
- "dateRange": {
- "start": "2019-08-24",
- "end": "2019-08-24"
}, - "weeks": [
- 0
], - "weekDays": [
- "MONDAY"
], - "timeRange": "string"
}
]
}{- "_id": "6448d56b310000400063f014",
- "name": "string",
- "description": "string",
- "authorizedPeriods": [
- {
- "dateRange": {
- "start": "2019-08-24",
- "end": "2019-08-24"
}, - "weeks": [
- 0
], - "weekDays": [
- "MONDAY"
], - "timeRange": "string"
}
], - "forbiddenPeriods": [
- {
- "dateRange": {
- "start": "2019-08-24",
- "end": "2019-08-24"
}, - "weeks": [
- 0
], - "weekDays": [
- "MONDAY"
], - "timeRange": "string"
}
]
}Delete an existing execution policy based on its name
| name required | string |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Retrieve an existing execution policy based on its name
| name required | string |
{- "_id": "6448d56b310000400063f014",
- "name": "string",
- "description": "string",
- "authorizedPeriods": [
- {
- "dateRange": {
- "start": "2019-08-24",
- "end": "2019-08-24"
}, - "weeks": [
- 0
], - "weekDays": [
- "MONDAY"
], - "timeRange": "string"
}
], - "forbiddenPeriods": [
- {
- "dateRange": {
- "start": "2019-08-24",
- "end": "2019-08-24"
}, - "weeks": [
- 0
], - "weekDays": [
- "MONDAY"
], - "timeRange": "string"
}
]
}List the existing automation policies
[- {
- "_id": "6448d56b310000400063f014",
- "name": "string",
- "executionPolicy": "string",
- "compliancePolicy": {
- "authorizedSigningAlgorithms": [
- "string"
], - "authorizedCas": [
- "string"
]
}, - "trustChains": [
- "string"
], - "profile": "string"
}
]Register a new automation policy
Automation policy to register
| name required | string |
| executionPolicy | string or null |
object or null | |
| trustChains | Array of strings or null |
| profile required | string |
{- "name": "string",
- "executionPolicy": "string",
- "compliancePolicy": {
- "authorizedSigningAlgorithms": [
- "string"
], - "authorizedCas": [
- "string"
]
}, - "trustChains": [
- "string"
], - "profile": "string"
}{- "_id": "6448d56b310000400063f014",
- "name": "string",
- "executionPolicy": "string",
- "compliancePolicy": {
- "authorizedSigningAlgorithms": [
- "string"
], - "authorizedCas": [
- "string"
]
}, - "trustChains": [
- "string"
], - "profile": "string"
}Update an existing automation policy
Automation policy to update
| name required | string |
| executionPolicy | string or null |
object or null | |
| trustChains | Array of strings or null |
| profile required | string |
{- "name": "string",
- "executionPolicy": "string",
- "compliancePolicy": {
- "authorizedSigningAlgorithms": [
- "string"
], - "authorizedCas": [
- "string"
]
}, - "trustChains": [
- "string"
], - "profile": "string"
}{- "_id": "6448d56b310000400063f014",
- "name": "string",
- "executionPolicy": "string",
- "compliancePolicy": {
- "authorizedSigningAlgorithms": [
- "string"
], - "authorizedCas": [
- "string"
]
}, - "trustChains": [
- "string"
], - "profile": "string"
}Delete an existing automation policy based on its name
| name required | string |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Retrieve an existing automation policy based on its name
| name required | string |
{- "_id": "6448d56b310000400063f014",
- "name": "string",
- "executionPolicy": "string",
- "compliancePolicy": {
- "authorizedSigningAlgorithms": [
- "string"
], - "authorizedCas": [
- "string"
]
}, - "trustChains": [
- "string"
], - "profile": "string"
}List the existing certificate profiles with the capability to filter on a list of module(s)
| modules required | Array of strings |
[- {
- "_id": "6448d56b310000400063f014",
- "module": "acme",
- "name": "string",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "enabled": true,
- "timeout": "5 seconds",
- "meta": {
- "termsOfService": "string",
- "website": "string",
- "caaIdentities": [
- "string"
], - "externalAccountRequired": true
}, - "constraints": {
- "allowedDomains": "string",
- "allowedEmailDomains": "string",
- "allowedDnsDomains": "string"
}, - "authorizationMethods": [
- "string"
], - "pkiConnector": "string",
- "http01Port": 0,
- "tlsAlpn01Port": 0,
- "authorizeShortName": true,
- "authorizeEmptyContact": true,
- "defaultContacts": [
- "string"
], - "verifyRetryCount": 0,
- "verifyRetryDelay": "5 seconds",
- "requireTermsOfService": true,
- "renewalPeriod": "5 seconds",
- "csrDataMapping": {
- "property1": "string",
- "property2": "string"
}, - "maxCertificatePerHolderPolicy": {
- "max": 0,
- "behavior": "revoke",
- "revocationReason": "string"
}, - "maxDnsName": 0,
- "proxy": "string",
- "authorizationLevels": {
- "enroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "enrollApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestEnroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveEnroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "revoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRevoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRevoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "search": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "update": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestUpdate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveUpdate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "recover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "recoverApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRecover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRecover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "migrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestMigrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveMigrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "renew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "renewApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRenew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRenew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "auditRequest": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}
}, - "triggers": {
- "onEnroll": [
- "string"
], - "onSubmitEnroll": [
- "string"
], - "onCancelEnroll": [
- "string"
], - "onApproveEnroll": [
- "string"
], - "onDenyEnroll": [
- "string"
], - "onPendingEnroll": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRevoke": [
- "string"
], - "onSubmitRevoke": [
- "string"
], - "onCancelRevoke": [
- "string"
], - "onApproveRevoke": [
- "string"
], - "onDenyRevoke": [
- "string"
], - "onPendingRevoke": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onUpdate": [
- "string"
], - "onSubmitUpdate": [
- "string"
], - "onCancelUpdate": [
- "string"
], - "onApproveUpdate": [
- "string"
], - "onDenyUpdate": [
- "string"
], - "onPendingUpdate": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRecover": [
- "string"
], - "onSubmitRecover": [
- "string"
], - "onCancelRecover": [
- "string"
], - "onApproveRecover": [
- "string"
], - "onDenyRecover": [
- "string"
], - "onPendingRecover": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onMigrate": [
- "string"
], - "onSubmitMigrate": [
- "string"
], - "onCancelMigrate": [
- "string"
], - "onApproveMigrate": [
- "string"
], - "onDenyMigrate": [
- "string"
], - "onPendingMigrate": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onExpire": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRenew": [
- "string"
], - "onSubmitRenew": [
- "string"
], - "onCancelRenew": [
- "string"
], - "onApproveRenew": [
- "string"
], - "onDenyRenew": [
- "string"
], - "onPendingRenew": [
- {
- "name": "string",
- "activationDate": 0
}
]
}, - "requestsPolicy": {
- "enroll": "5 seconds",
- "revoke": "5 seconds",
- "recover": "5 seconds",
- "update": "5 seconds",
- "migrate": "5 seconds",
- "renew": "5 seconds"
}, - "selfPermissions": {
- "selfRecover": false,
- "selfUpdate": false,
- "selfRevoke": false,
- "selfRenew": false,
- "selfPopRenew": false,
- "selfPopRevoke": false,
- "selfPopUpdate": false
}, - "certificateTemplate": {
- "subject": [
- {
- "type": "string",
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string"
}
], - "sans": [
- {
- "type": "RFC822NAME",
- "computationRule": "{{csr.subject.cn.1}}",
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "min": 0,
- "max": 0
}
], - "extensions": [
- {
- "type": "ms_sid",
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string"
}
], - "ownerPolicy": {
- "editableByRequester": true,
- "editableByApprover": true,
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}, - "teamPolicy": {
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "whitelist": [
- "string"
], - "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}, - "metadataPolicies": [
- {
- "metadata": "gs_order_id",
- "editableByRequester": true,
- "editableByApprover": true
}
], - "labels": [
- {
- "label": "BU",
- "value": "business_unit_1",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "^.*aregex$",
- "enum": [
- "business_unit_1",
- "business_unit_2"
], - "suggestions": [
- "business_unit_2",
- "business_unit_3"
]
}
], - "contactEmailPolicy": {
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "whitelist": [
- "string"
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}
}, - "cryptoPolicy": {
- "centralized": false,
- "decentralized": false,
- "defaultKeyType": "rsa-2048",
- "authorizedKeyTypes": [
- "rsa-2048",
- "rsa-3072",
- "rsa-4096"
], - "preferredEnrollmentMode": "centralized",
- "escrow": false,
- "p12passwordPolicy": "string",
- "p12passwordMode": "random",
- "p12storeEncryptionType": "AES",
- "showP12PasswordOnEnroll": true,
- "showP12OnEnroll": true,
- "showP12PasswordOnRecover": true,
- "showP12OnRecover": true
}, - "gradingPolicies": [
- "string"
], - "dsFlow": [
- {
- "ds": "LDAP_DS",
- "inputs": [
- {
- "key": "LDAP_DS",
- "value": "{{csr.subject.cn.1}}"
}
], - "stopOnSuccess": false
}
]
}
]Register a new certificate profile
Certificate profile to register
| module required | string Value: "acme" |
| name required | string |
Array of objects or null (LocalizedString) | |
Array of objects or null (LocalizedString) | |
| enabled required | boolean |
| timeout required | string <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
object or null | |
object or null | |
| authorizationMethods | Array of strings or null |
| pkiConnector required | string |
| http01Port | integer or null <int32> |
| tlsAlpn01Port | integer or null <int32> |
| authorizeShortName required | boolean |
| authorizeEmptyContact required | boolean |
| defaultContacts | Array of strings or null |
| verifyRetryCount required | integer <int32> |
| verifyRetryDelay required | string <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| requireTermsOfService required | boolean |
| renewalPeriod | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
object or null | |
object or null | |
| maxDnsName | integer or null <int32> |
| proxy | string or null |
required | object |
object or null | |
required | object |
required | object |
object or null | |
required | object (Certificate profile crypto policy) |
| gradingPolicies | Array of strings or null |
Array of objects or null (Datasource Flow) Representation of a datasource execution flow |
{- "module": "acme",
- "name": "string",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "enabled": true,
- "timeout": "5 seconds",
- "meta": {
- "termsOfService": "string",
- "website": "string",
- "caaIdentities": [
- "string"
], - "externalAccountRequired": true
}, - "constraints": {
- "allowedDomains": "string",
- "allowedEmailDomains": "string",
- "allowedDnsDomains": "string"
}, - "authorizationMethods": [
- "string"
], - "pkiConnector": "string",
- "http01Port": 0,
- "tlsAlpn01Port": 0,
- "authorizeShortName": true,
- "authorizeEmptyContact": true,
- "defaultContacts": [
- "string"
], - "verifyRetryCount": 0,
- "verifyRetryDelay": "5 seconds",
- "requireTermsOfService": true,
- "renewalPeriod": "5 seconds",
- "csrDataMapping": {
- "property1": "string",
- "property2": "string"
}, - "maxCertificatePerHolderPolicy": {
- "max": 0,
- "behavior": "revoke",
- "revocationReason": "string"
}, - "maxDnsName": 0,
- "proxy": "string",
- "authorizationLevels": {
- "enroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "enrollApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestEnroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveEnroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "revoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRevoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRevoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "search": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "update": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestUpdate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveUpdate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "recover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "recoverApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRecover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRecover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "migrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestMigrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveMigrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "renew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "renewApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRenew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRenew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "auditRequest": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}
}, - "triggers": {
- "onEnroll": [
- "string"
], - "onSubmitEnroll": [
- "string"
], - "onCancelEnroll": [
- "string"
], - "onApproveEnroll": [
- "string"
], - "onDenyEnroll": [
- "string"
], - "onPendingEnroll": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRevoke": [
- "string"
], - "onSubmitRevoke": [
- "string"
], - "onCancelRevoke": [
- "string"
], - "onApproveRevoke": [
- "string"
], - "onDenyRevoke": [
- "string"
], - "onPendingRevoke": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onUpdate": [
- "string"
], - "onSubmitUpdate": [
- "string"
], - "onCancelUpdate": [
- "string"
], - "onApproveUpdate": [
- "string"
], - "onDenyUpdate": [
- "string"
], - "onPendingUpdate": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRecover": [
- "string"
], - "onSubmitRecover": [
- "string"
], - "onCancelRecover": [
- "string"
], - "onApproveRecover": [
- "string"
], - "onDenyRecover": [
- "string"
], - "onPendingRecover": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onMigrate": [
- "string"
], - "onSubmitMigrate": [
- "string"
], - "onCancelMigrate": [
- "string"
], - "onApproveMigrate": [
- "string"
], - "onDenyMigrate": [
- "string"
], - "onPendingMigrate": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onExpire": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRenew": [
- "string"
], - "onSubmitRenew": [
- "string"
], - "onCancelRenew": [
- "string"
], - "onApproveRenew": [
- "string"
], - "onDenyRenew": [
- "string"
], - "onPendingRenew": [
- {
- "name": "string",
- "activationDate": 0
}
]
}, - "requestsPolicy": {
- "enroll": "5 seconds",
- "revoke": "5 seconds",
- "recover": "5 seconds",
- "update": "5 seconds",
- "migrate": "5 seconds",
- "renew": "5 seconds"
}, - "selfPermissions": {
- "selfRecover": false,
- "selfUpdate": false,
- "selfRevoke": false,
- "selfRenew": false,
- "selfPopRenew": false,
- "selfPopRevoke": false,
- "selfPopUpdate": false
}, - "certificateTemplate": {
- "subject": [
- {
- "type": "string",
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string"
}
], - "sans": [
- {
- "type": "RFC822NAME",
- "computationRule": "{{csr.subject.cn.1}}",
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "min": 0,
- "max": 0
}
], - "extensions": [
- {
- "type": "ms_sid",
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string"
}
], - "ownerPolicy": {
- "editableByRequester": true,
- "editableByApprover": true,
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}, - "teamPolicy": {
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "whitelist": [
- "string"
], - "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}, - "metadataPolicies": [
- {
- "metadata": "gs_order_id",
- "editableByRequester": true,
- "editableByApprover": true
}
], - "labels": [
- {
- "label": "BU",
- "value": "business_unit_1",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "^.*aregex$",
- "enum": [
- "business_unit_1",
- "business_unit_2"
], - "suggestions": [
- "business_unit_2",
- "business_unit_3"
]
}
], - "contactEmailPolicy": {
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "whitelist": [
- "string"
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}
}, - "cryptoPolicy": {
- "centralized": false,
- "decentralized": false,
- "defaultKeyType": "rsa-2048",
- "authorizedKeyTypes": [
- "rsa-2048",
- "rsa-3072",
- "rsa-4096"
], - "preferredEnrollmentMode": "centralized",
- "escrow": false,
- "p12passwordPolicy": "string",
- "p12passwordMode": "random",
- "p12storeEncryptionType": "AES",
- "showP12PasswordOnEnroll": true,
- "showP12OnEnroll": true,
- "showP12PasswordOnRecover": true,
- "showP12OnRecover": true
}, - "gradingPolicies": [
- "string"
], - "dsFlow": [
- {
- "ds": "LDAP_DS",
- "inputs": [
- {
- "key": "LDAP_DS",
- "value": "{{csr.subject.cn.1}}"
}
], - "stopOnSuccess": false
}
]
}{- "_id": "6448d56b310000400063f014",
- "module": "acme",
- "name": "string",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "enabled": true,
- "timeout": "5 seconds",
- "meta": {
- "termsOfService": "string",
- "website": "string",
- "caaIdentities": [
- "string"
], - "externalAccountRequired": true
}, - "constraints": {
- "allowedDomains": "string",
- "allowedEmailDomains": "string",
- "allowedDnsDomains": "string"
}, - "authorizationMethods": [
- "string"
], - "pkiConnector": "string",
- "http01Port": 0,
- "tlsAlpn01Port": 0,
- "authorizeShortName": true,
- "authorizeEmptyContact": true,
- "defaultContacts": [
- "string"
], - "verifyRetryCount": 0,
- "verifyRetryDelay": "5 seconds",
- "requireTermsOfService": true,
- "renewalPeriod": "5 seconds",
- "csrDataMapping": {
- "property1": "string",
- "property2": "string"
}, - "maxCertificatePerHolderPolicy": {
- "max": 0,
- "behavior": "revoke",
- "revocationReason": "string"
}, - "maxDnsName": 0,
- "proxy": "string",
- "authorizationLevels": {
- "enroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "enrollApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestEnroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveEnroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "revoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRevoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRevoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "search": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "update": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestUpdate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveUpdate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "recover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "recoverApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRecover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRecover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "migrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestMigrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveMigrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "renew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "renewApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRenew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRenew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "auditRequest": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}
}, - "triggers": {
- "onEnroll": [
- "string"
], - "onSubmitEnroll": [
- "string"
], - "onCancelEnroll": [
- "string"
], - "onApproveEnroll": [
- "string"
], - "onDenyEnroll": [
- "string"
], - "onPendingEnroll": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRevoke": [
- "string"
], - "onSubmitRevoke": [
- "string"
], - "onCancelRevoke": [
- "string"
], - "onApproveRevoke": [
- "string"
], - "onDenyRevoke": [
- "string"
], - "onPendingRevoke": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onUpdate": [
- "string"
], - "onSubmitUpdate": [
- "string"
], - "onCancelUpdate": [
- "string"
], - "onApproveUpdate": [
- "string"
], - "onDenyUpdate": [
- "string"
], - "onPendingUpdate": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRecover": [
- "string"
], - "onSubmitRecover": [
- "string"
], - "onCancelRecover": [
- "string"
], - "onApproveRecover": [
- "string"
], - "onDenyRecover": [
- "string"
], - "onPendingRecover": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onMigrate": [
- "string"
], - "onSubmitMigrate": [
- "string"
], - "onCancelMigrate": [
- "string"
], - "onApproveMigrate": [
- "string"
], - "onDenyMigrate": [
- "string"
], - "onPendingMigrate": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onExpire": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRenew": [
- "string"
], - "onSubmitRenew": [
- "string"
], - "onCancelRenew": [
- "string"
], - "onApproveRenew": [
- "string"
], - "onDenyRenew": [
- "string"
], - "onPendingRenew": [
- {
- "name": "string",
- "activationDate": 0
}
]
}, - "requestsPolicy": {
- "enroll": "5 seconds",
- "revoke": "5 seconds",
- "recover": "5 seconds",
- "update": "5 seconds",
- "migrate": "5 seconds",
- "renew": "5 seconds"
}, - "selfPermissions": {
- "selfRecover": false,
- "selfUpdate": false,
- "selfRevoke": false,
- "selfRenew": false,
- "selfPopRenew": false,
- "selfPopRevoke": false,
- "selfPopUpdate": false
}, - "certificateTemplate": {
- "subject": [
- {
- "type": "string",
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string"
}
], - "sans": [
- {
- "type": "RFC822NAME",
- "computationRule": "{{csr.subject.cn.1}}",
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "min": 0,
- "max": 0
}
], - "extensions": [
- {
- "type": "ms_sid",
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string"
}
], - "ownerPolicy": {
- "editableByRequester": true,
- "editableByApprover": true,
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}, - "teamPolicy": {
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "whitelist": [
- "string"
], - "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}, - "metadataPolicies": [
- {
- "metadata": "gs_order_id",
- "editableByRequester": true,
- "editableByApprover": true
}
], - "labels": [
- {
- "label": "BU",
- "value": "business_unit_1",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "^.*aregex$",
- "enum": [
- "business_unit_1",
- "business_unit_2"
], - "suggestions": [
- "business_unit_2",
- "business_unit_3"
]
}
], - "contactEmailPolicy": {
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "whitelist": [
- "string"
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}
}, - "cryptoPolicy": {
- "centralized": false,
- "decentralized": false,
- "defaultKeyType": "rsa-2048",
- "authorizedKeyTypes": [
- "rsa-2048",
- "rsa-3072",
- "rsa-4096"
], - "preferredEnrollmentMode": "centralized",
- "escrow": false,
- "p12passwordPolicy": "string",
- "p12passwordMode": "random",
- "p12storeEncryptionType": "AES",
- "showP12PasswordOnEnroll": true,
- "showP12OnEnroll": true,
- "showP12PasswordOnRecover": true,
- "showP12OnRecover": true
}, - "gradingPolicies": [
- "string"
], - "dsFlow": [
- {
- "ds": "LDAP_DS",
- "inputs": [
- {
- "key": "LDAP_DS",
- "value": "{{csr.subject.cn.1}}"
}
], - "stopOnSuccess": false
}
]
}Update an existing certificate profile
Certificate profile to update
| module required | string Value: "acme" |
| name required | string |
Array of objects or null (LocalizedString) | |
Array of objects or null (LocalizedString) | |
| enabled required | boolean |
| timeout required | string <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
object or null | |
object or null | |
| authorizationMethods | Array of strings or null |
| pkiConnector required | string |
| http01Port | integer or null <int32> |
| tlsAlpn01Port | integer or null <int32> |
| authorizeShortName required | boolean |
| authorizeEmptyContact required | boolean |
| defaultContacts | Array of strings or null |
| verifyRetryCount required | integer <int32> |
| verifyRetryDelay required | string <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| requireTermsOfService required | boolean |
| renewalPeriod | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
object or null | |
object or null | |
| maxDnsName | integer or null <int32> |
| proxy | string or null |
required | object |
object or null | |
required | object |
required | object |
object or null | |
required | object (Certificate profile crypto policy) |
| gradingPolicies | Array of strings or null |
Array of objects or null (Datasource Flow) Representation of a datasource execution flow |
{- "module": "acme",
- "name": "string",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "enabled": true,
- "timeout": "5 seconds",
- "meta": {
- "termsOfService": "string",
- "website": "string",
- "caaIdentities": [
- "string"
], - "externalAccountRequired": true
}, - "constraints": {
- "allowedDomains": "string",
- "allowedEmailDomains": "string",
- "allowedDnsDomains": "string"
}, - "authorizationMethods": [
- "string"
], - "pkiConnector": "string",
- "http01Port": 0,
- "tlsAlpn01Port": 0,
- "authorizeShortName": true,
- "authorizeEmptyContact": true,
- "defaultContacts": [
- "string"
], - "verifyRetryCount": 0,
- "verifyRetryDelay": "5 seconds",
- "requireTermsOfService": true,
- "renewalPeriod": "5 seconds",
- "csrDataMapping": {
- "property1": "string",
- "property2": "string"
}, - "maxCertificatePerHolderPolicy": {
- "max": 0,
- "behavior": "revoke",
- "revocationReason": "string"
}, - "maxDnsName": 0,
- "proxy": "string",
- "authorizationLevels": {
- "enroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "enrollApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestEnroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveEnroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "revoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRevoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRevoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "search": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "update": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestUpdate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveUpdate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "recover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "recoverApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRecover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRecover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "migrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestMigrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveMigrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "renew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "renewApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRenew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRenew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "auditRequest": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}
}, - "triggers": {
- "onEnroll": [
- "string"
], - "onSubmitEnroll": [
- "string"
], - "onCancelEnroll": [
- "string"
], - "onApproveEnroll": [
- "string"
], - "onDenyEnroll": [
- "string"
], - "onPendingEnroll": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRevoke": [
- "string"
], - "onSubmitRevoke": [
- "string"
], - "onCancelRevoke": [
- "string"
], - "onApproveRevoke": [
- "string"
], - "onDenyRevoke": [
- "string"
], - "onPendingRevoke": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onUpdate": [
- "string"
], - "onSubmitUpdate": [
- "string"
], - "onCancelUpdate": [
- "string"
], - "onApproveUpdate": [
- "string"
], - "onDenyUpdate": [
- "string"
], - "onPendingUpdate": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRecover": [
- "string"
], - "onSubmitRecover": [
- "string"
], - "onCancelRecover": [
- "string"
], - "onApproveRecover": [
- "string"
], - "onDenyRecover": [
- "string"
], - "onPendingRecover": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onMigrate": [
- "string"
], - "onSubmitMigrate": [
- "string"
], - "onCancelMigrate": [
- "string"
], - "onApproveMigrate": [
- "string"
], - "onDenyMigrate": [
- "string"
], - "onPendingMigrate": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onExpire": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRenew": [
- "string"
], - "onSubmitRenew": [
- "string"
], - "onCancelRenew": [
- "string"
], - "onApproveRenew": [
- "string"
], - "onDenyRenew": [
- "string"
], - "onPendingRenew": [
- {
- "name": "string",
- "activationDate": 0
}
]
}, - "requestsPolicy": {
- "enroll": "5 seconds",
- "revoke": "5 seconds",
- "recover": "5 seconds",
- "update": "5 seconds",
- "migrate": "5 seconds",
- "renew": "5 seconds"
}, - "selfPermissions": {
- "selfRecover": false,
- "selfUpdate": false,
- "selfRevoke": false,
- "selfRenew": false,
- "selfPopRenew": false,
- "selfPopRevoke": false,
- "selfPopUpdate": false
}, - "certificateTemplate": {
- "subject": [
- {
- "type": "string",
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string"
}
], - "sans": [
- {
- "type": "RFC822NAME",
- "computationRule": "{{csr.subject.cn.1}}",
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "min": 0,
- "max": 0
}
], - "extensions": [
- {
- "type": "ms_sid",
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string"
}
], - "ownerPolicy": {
- "editableByRequester": true,
- "editableByApprover": true,
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}, - "teamPolicy": {
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "whitelist": [
- "string"
], - "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}, - "metadataPolicies": [
- {
- "metadata": "gs_order_id",
- "editableByRequester": true,
- "editableByApprover": true
}
], - "labels": [
- {
- "label": "BU",
- "value": "business_unit_1",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "^.*aregex$",
- "enum": [
- "business_unit_1",
- "business_unit_2"
], - "suggestions": [
- "business_unit_2",
- "business_unit_3"
]
}
], - "contactEmailPolicy": {
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "whitelist": [
- "string"
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}
}, - "cryptoPolicy": {
- "centralized": false,
- "decentralized": false,
- "defaultKeyType": "rsa-2048",
- "authorizedKeyTypes": [
- "rsa-2048",
- "rsa-3072",
- "rsa-4096"
], - "preferredEnrollmentMode": "centralized",
- "escrow": false,
- "p12passwordPolicy": "string",
- "p12passwordMode": "random",
- "p12storeEncryptionType": "AES",
- "showP12PasswordOnEnroll": true,
- "showP12OnEnroll": true,
- "showP12PasswordOnRecover": true,
- "showP12OnRecover": true
}, - "gradingPolicies": [
- "string"
], - "dsFlow": [
- {
- "ds": "LDAP_DS",
- "inputs": [
- {
- "key": "LDAP_DS",
- "value": "{{csr.subject.cn.1}}"
}
], - "stopOnSuccess": false
}
]
}{- "_id": "6448d56b310000400063f014",
- "module": "acme",
- "name": "string",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "enabled": true,
- "timeout": "5 seconds",
- "meta": {
- "termsOfService": "string",
- "website": "string",
- "caaIdentities": [
- "string"
], - "externalAccountRequired": true
}, - "constraints": {
- "allowedDomains": "string",
- "allowedEmailDomains": "string",
- "allowedDnsDomains": "string"
}, - "authorizationMethods": [
- "string"
], - "pkiConnector": "string",
- "http01Port": 0,
- "tlsAlpn01Port": 0,
- "authorizeShortName": true,
- "authorizeEmptyContact": true,
- "defaultContacts": [
- "string"
], - "verifyRetryCount": 0,
- "verifyRetryDelay": "5 seconds",
- "requireTermsOfService": true,
- "renewalPeriod": "5 seconds",
- "csrDataMapping": {
- "property1": "string",
- "property2": "string"
}, - "maxCertificatePerHolderPolicy": {
- "max": 0,
- "behavior": "revoke",
- "revocationReason": "string"
}, - "maxDnsName": 0,
- "proxy": "string",
- "authorizationLevels": {
- "enroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "enrollApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestEnroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveEnroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "revoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRevoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRevoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "search": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "update": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestUpdate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveUpdate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "recover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "recoverApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRecover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRecover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "migrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestMigrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveMigrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "renew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "renewApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRenew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRenew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "auditRequest": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}
}, - "triggers": {
- "onEnroll": [
- "string"
], - "onSubmitEnroll": [
- "string"
], - "onCancelEnroll": [
- "string"
], - "onApproveEnroll": [
- "string"
], - "onDenyEnroll": [
- "string"
], - "onPendingEnroll": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRevoke": [
- "string"
], - "onSubmitRevoke": [
- "string"
], - "onCancelRevoke": [
- "string"
], - "onApproveRevoke": [
- "string"
], - "onDenyRevoke": [
- "string"
], - "onPendingRevoke": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onUpdate": [
- "string"
], - "onSubmitUpdate": [
- "string"
], - "onCancelUpdate": [
- "string"
], - "onApproveUpdate": [
- "string"
], - "onDenyUpdate": [
- "string"
], - "onPendingUpdate": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRecover": [
- "string"
], - "onSubmitRecover": [
- "string"
], - "onCancelRecover": [
- "string"
], - "onApproveRecover": [
- "string"
], - "onDenyRecover": [
- "string"
], - "onPendingRecover": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onMigrate": [
- "string"
], - "onSubmitMigrate": [
- "string"
], - "onCancelMigrate": [
- "string"
], - "onApproveMigrate": [
- "string"
], - "onDenyMigrate": [
- "string"
], - "onPendingMigrate": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onExpire": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRenew": [
- "string"
], - "onSubmitRenew": [
- "string"
], - "onCancelRenew": [
- "string"
], - "onApproveRenew": [
- "string"
], - "onDenyRenew": [
- "string"
], - "onPendingRenew": [
- {
- "name": "string",
- "activationDate": 0
}
]
}, - "requestsPolicy": {
- "enroll": "5 seconds",
- "revoke": "5 seconds",
- "recover": "5 seconds",
- "update": "5 seconds",
- "migrate": "5 seconds",
- "renew": "5 seconds"
}, - "selfPermissions": {
- "selfRecover": false,
- "selfUpdate": false,
- "selfRevoke": false,
- "selfRenew": false,
- "selfPopRenew": false,
- "selfPopRevoke": false,
- "selfPopUpdate": false
}, - "certificateTemplate": {
- "subject": [
- {
- "type": "string",
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string"
}
], - "sans": [
- {
- "type": "RFC822NAME",
- "computationRule": "{{csr.subject.cn.1}}",
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "min": 0,
- "max": 0
}
], - "extensions": [
- {
- "type": "ms_sid",
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string"
}
], - "ownerPolicy": {
- "editableByRequester": true,
- "editableByApprover": true,
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}, - "teamPolicy": {
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "whitelist": [
- "string"
], - "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}, - "metadataPolicies": [
- {
- "metadata": "gs_order_id",
- "editableByRequester": true,
- "editableByApprover": true
}
], - "labels": [
- {
- "label": "BU",
- "value": "business_unit_1",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "^.*aregex$",
- "enum": [
- "business_unit_1",
- "business_unit_2"
], - "suggestions": [
- "business_unit_2",
- "business_unit_3"
]
}
], - "contactEmailPolicy": {
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "whitelist": [
- "string"
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}
}, - "cryptoPolicy": {
- "centralized": false,
- "decentralized": false,
- "defaultKeyType": "rsa-2048",
- "authorizedKeyTypes": [
- "rsa-2048",
- "rsa-3072",
- "rsa-4096"
], - "preferredEnrollmentMode": "centralized",
- "escrow": false,
- "p12passwordPolicy": "string",
- "p12passwordMode": "random",
- "p12storeEncryptionType": "AES",
- "showP12PasswordOnEnroll": true,
- "showP12OnEnroll": true,
- "showP12PasswordOnRecover": true,
- "showP12OnRecover": true
}, - "gradingPolicies": [
- "string"
], - "dsFlow": [
- {
- "ds": "LDAP_DS",
- "inputs": [
- {
- "key": "LDAP_DS",
- "value": "{{csr.subject.cn.1}}"
}
], - "stopOnSuccess": false
}
]
}Retrieve a specific certificate profile based on its name
| name required | string |
{- "_id": "6448d56b310000400063f014",
- "module": "acme",
- "name": "string",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "enabled": true,
- "timeout": "5 seconds",
- "meta": {
- "termsOfService": "string",
- "website": "string",
- "caaIdentities": [
- "string"
], - "externalAccountRequired": true
}, - "constraints": {
- "allowedDomains": "string",
- "allowedEmailDomains": "string",
- "allowedDnsDomains": "string"
}, - "authorizationMethods": [
- "string"
], - "pkiConnector": "string",
- "http01Port": 0,
- "tlsAlpn01Port": 0,
- "authorizeShortName": true,
- "authorizeEmptyContact": true,
- "defaultContacts": [
- "string"
], - "verifyRetryCount": 0,
- "verifyRetryDelay": "5 seconds",
- "requireTermsOfService": true,
- "renewalPeriod": "5 seconds",
- "csrDataMapping": {
- "property1": "string",
- "property2": "string"
}, - "maxCertificatePerHolderPolicy": {
- "max": 0,
- "behavior": "revoke",
- "revocationReason": "string"
}, - "maxDnsName": 0,
- "proxy": "string",
- "authorizationLevels": {
- "enroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "enrollApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestEnroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveEnroll": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "revoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRevoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRevoke": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "search": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "update": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestUpdate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveUpdate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "recover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "recoverApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRecover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRecover": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "migrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestMigrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveMigrate": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "renew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "renewApi": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "requestRenew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "approveRenew": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}, - "auditRequest": {
- "accessLevel": "authenticated",
- "enforcedIdentityProviders": [
- {
- "type": "Local",
- "name": "local"
}
]
}
}, - "triggers": {
- "onEnroll": [
- "string"
], - "onSubmitEnroll": [
- "string"
], - "onCancelEnroll": [
- "string"
], - "onApproveEnroll": [
- "string"
], - "onDenyEnroll": [
- "string"
], - "onPendingEnroll": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRevoke": [
- "string"
], - "onSubmitRevoke": [
- "string"
], - "onCancelRevoke": [
- "string"
], - "onApproveRevoke": [
- "string"
], - "onDenyRevoke": [
- "string"
], - "onPendingRevoke": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onUpdate": [
- "string"
], - "onSubmitUpdate": [
- "string"
], - "onCancelUpdate": [
- "string"
], - "onApproveUpdate": [
- "string"
], - "onDenyUpdate": [
- "string"
], - "onPendingUpdate": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRecover": [
- "string"
], - "onSubmitRecover": [
- "string"
], - "onCancelRecover": [
- "string"
], - "onApproveRecover": [
- "string"
], - "onDenyRecover": [
- "string"
], - "onPendingRecover": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onMigrate": [
- "string"
], - "onSubmitMigrate": [
- "string"
], - "onCancelMigrate": [
- "string"
], - "onApproveMigrate": [
- "string"
], - "onDenyMigrate": [
- "string"
], - "onPendingMigrate": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onExpire": [
- {
- "name": "string",
- "activationDate": 0
}
], - "onRenew": [
- "string"
], - "onSubmitRenew": [
- "string"
], - "onCancelRenew": [
- "string"
], - "onApproveRenew": [
- "string"
], - "onDenyRenew": [
- "string"
], - "onPendingRenew": [
- {
- "name": "string",
- "activationDate": 0
}
]
}, - "requestsPolicy": {
- "enroll": "5 seconds",
- "revoke": "5 seconds",
- "recover": "5 seconds",
- "update": "5 seconds",
- "migrate": "5 seconds",
- "renew": "5 seconds"
}, - "selfPermissions": {
- "selfRecover": false,
- "selfUpdate": false,
- "selfRevoke": false,
- "selfRenew": false,
- "selfPopRenew": false,
- "selfPopRevoke": false,
- "selfPopUpdate": false
}, - "certificateTemplate": {
- "subject": [
- {
- "type": "string",
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string"
}
], - "sans": [
- {
- "type": "RFC822NAME",
- "computationRule": "{{csr.subject.cn.1}}",
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "min": 0,
- "max": 0
}
], - "extensions": [
- {
- "type": "ms_sid",
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string"
}
], - "ownerPolicy": {
- "editableByRequester": true,
- "editableByApprover": true,
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}, - "teamPolicy": {
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "whitelist": [
- "string"
], - "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}, - "metadataPolicies": [
- {
- "metadata": "gs_order_id",
- "editableByRequester": true,
- "editableByApprover": true
}
], - "labels": [
- {
- "label": "BU",
- "value": "business_unit_1",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "^.*aregex$",
- "enum": [
- "business_unit_1",
- "business_unit_2"
], - "suggestions": [
- "business_unit_2",
- "business_unit_3"
]
}
], - "contactEmailPolicy": {
- "value": "string",
- "computationRule": "{{csr.subject.cn.1}}",
- "mandatory": true,
- "editableByRequester": true,
- "editableByApprover": true,
- "regex": "string",
- "whitelist": [
- "string"
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}
}, - "cryptoPolicy": {
- "centralized": false,
- "decentralized": false,
- "defaultKeyType": "rsa-2048",
- "authorizedKeyTypes": [
- "rsa-2048",
- "rsa-3072",
- "rsa-4096"
], - "preferredEnrollmentMode": "centralized",
- "escrow": false,
- "p12passwordPolicy": "string",
- "p12passwordMode": "random",
- "p12storeEncryptionType": "AES",
- "showP12PasswordOnEnroll": true,
- "showP12OnEnroll": true,
- "showP12PasswordOnRecover": true,
- "showP12OnRecover": true
}, - "gradingPolicies": [
- "string"
], - "dsFlow": [
- {
- "ds": "LDAP_DS",
- "inputs": [
- {
- "key": "LDAP_DS",
- "value": "{{csr.subject.cn.1}}"
}
], - "stopOnSuccess": false
}
]
}Delete a certificate profile based on its name. Will also delete any role or principal permission associated to this profile
| name required | string |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}List the existing third party connector(s). The list can be filtered with type and/or module.
| type | string or null Enum: "akv" "aws" "intune" "f5client" "jamf" "msad" "intunepkcs" "ldappub" "gcm" |
| module | string or null Enum: "acme" "est" "aws" "f5client" "intune" "jamf" "scep" "wcce" "webra" "intunepkcs" |
[- {
- "_id": "6448d56b310000400063f014",
- "type": "aws",
- "name": "string",
- "throttleDuration": "5 seconds",
- "renewalPeriod": "5 seconds",
- "timeout": "5 seconds",
- "proxy": "string",
- "region": "string",
- "credentials": "myPasswordCredentials",
- "resourceGroupName": "string",
- "roleArn": "string",
- "tagKey": "string",
- "tagValue": "string"
}
]Register a new third party connector
Third party connector to register
| type required | string Value: "aws" |
| name required | string |
| throttleDuration required | string <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| renewalPeriod | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| timeout | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| proxy | string or null |
| region required | string |
| credentials | string or null Name of the |
| resourceGroupName | string or null |
| roleArn | string or null |
| tagKey | string or null |
| tagValue | string or null |
{- "type": "aws",
- "name": "string",
- "throttleDuration": "5 seconds",
- "renewalPeriod": "5 seconds",
- "timeout": "5 seconds",
- "proxy": "string",
- "region": "string",
- "credentials": "myPasswordCredentials",
- "resourceGroupName": "string",
- "roleArn": "string",
- "tagKey": "string",
- "tagValue": "string"
}{- "_id": "6448d56b310000400063f014",
- "type": "aws",
- "name": "string",
- "throttleDuration": "5 seconds",
- "renewalPeriod": "5 seconds",
- "timeout": "5 seconds",
- "proxy": "string",
- "region": "string",
- "credentials": "myPasswordCredentials",
- "resourceGroupName": "string",
- "roleArn": "string",
- "tagKey": "string",
- "tagValue": "string"
}Update an existing third party connector
Third party connector to update
| type required | string Value: "aws" |
| name required | string |
| throttleDuration required | string <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| renewalPeriod | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| timeout | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... |
| proxy | string or null |
| region required | string |
| credentials | string or null Name of the |
| resourceGroupName | string or null |
| roleArn | string or null |
| tagKey | string or null |
| tagValue | string or null |
{- "type": "aws",
- "name": "string",
- "throttleDuration": "5 seconds",
- "renewalPeriod": "5 seconds",
- "timeout": "5 seconds",
- "proxy": "string",
- "region": "string",
- "credentials": "myPasswordCredentials",
- "resourceGroupName": "string",
- "roleArn": "string",
- "tagKey": "string",
- "tagValue": "string"
}{- "_id": "6448d56b310000400063f014",
- "type": "aws",
- "name": "string",
- "throttleDuration": "5 seconds",
- "renewalPeriod": "5 seconds",
- "timeout": "5 seconds",
- "proxy": "string",
- "region": "string",
- "credentials": "myPasswordCredentials",
- "resourceGroupName": "string",
- "roleArn": "string",
- "tagKey": "string",
- "tagValue": "string"
}Retrieve an existing third party connector based on its name
| name required | string |
{- "_id": "6448d56b310000400063f014",
- "type": "aws",
- "name": "string",
- "throttleDuration": "5 seconds",
- "renewalPeriod": "5 seconds",
- "timeout": "5 seconds",
- "proxy": "string",
- "region": "string",
- "credentials": "myPasswordCredentials",
- "resourceGroupName": "string",
- "roleArn": "string",
- "tagKey": "string",
- "tagValue": "string"
}Delete an existing third party connector based on its name
| name required | string |
{- "status": 400,
- "error": "THIRDPARTY-CONNECTOR-005",
- "message": "Referenced third party Connector",
- "title": "Referenced third party Connector",
- "detail": "Details about the error"
}List the existing datasource(s)
[- {
- "_id": "6448d56b310000400063f014",
- "type": "dns",
- "name": "DNS_Datasource",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": "Use this datasource to get DNS values...",
- "host": "36.54.12.2",
- "port": 68,
- "timeout": "5 seconds",
- "recordTypes": [
- "a"
], - "lookup": "{{host}}"
}
]Register a new datasource
Datasource to register
| type required | string Value: "dns" Type of datasource |
| name required | string Name of the datasource |
Array of objects or null (LocalizedString) The localized name of the datasource | |
| description | string Description of the datasource |
| host | string or null Ip of the DNS server. If empty, Horizon Server DNS is used |
| port | integer or null Default: 53 Port on which to join the DNS server |
| timeout | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... Default: "10 seconds" Timeout for the DNS request |
| recordTypes | Array of strings or null Enum: "a" "aaaa" "cname" "ptr" "txt" Type of DNS records to fetch. All available record types are fetched if null |
| lookup required |
{- "type": "dns",
- "name": "DNS_Datasource",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": "Use this datasource to get DNS values...",
- "host": "36.54.12.2",
- "port": 68,
- "timeout": "5 seconds",
- "recordTypes": [
- "a"
], - "lookup": "{{host}}"
}{- "_id": "6448d56b310000400063f014",
- "type": "dns",
- "name": "DNS_Datasource",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": "Use this datasource to get DNS values...",
- "host": "36.54.12.2",
- "port": 68,
- "timeout": "5 seconds",
- "recordTypes": [
- "a"
], - "lookup": "{{host}}"
}Update an existing datasource
Datasource to update
| type required | string Value: "dns" Type of datasource |
| name required | string Name of the datasource |
Array of objects or null (LocalizedString) The localized name of the datasource | |
| description | string Description of the datasource |
| host | string or null Ip of the DNS server. If empty, Horizon Server DNS is used |
| port | integer or null Default: 53 Port on which to join the DNS server |
| timeout | string or null <Finite Duration> ^([0-9]+) *(ms|millisecond|milliseconds|s|sec... Default: "10 seconds" Timeout for the DNS request |
| recordTypes | Array of strings or null Enum: "a" "aaaa" "cname" "ptr" "txt" Type of DNS records to fetch. All available record types are fetched if null |
| lookup required |
{- "type": "dns",
- "name": "DNS_Datasource",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": "Use this datasource to get DNS values...",
- "host": "36.54.12.2",
- "port": 68,
- "timeout": "5 seconds",
- "recordTypes": [
- "a"
], - "lookup": "{{host}}"
}{- "_id": "6448d56b310000400063f014",
- "type": "dns",
- "name": "DNS_Datasource",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": "Use this datasource to get DNS values...",
- "host": "36.54.12.2",
- "port": 68,
- "timeout": "5 seconds",
- "recordTypes": [
- "a"
], - "lookup": "{{host}}"
}Test a datasource
Datasource to test
required | DNS Datasource (object) or LDAP Datasource (object) or REST Datasource (object) Datasource to test |
Array of objects or null (Map entry) Context to interpret dynamic values from |
{- "ds": {
- "type": "dns",
- "name": "DNS_Datasource",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": "Use this datasource to get DNS values...",
- "host": "36.54.12.2",
- "port": 68,
- "timeout": "5 seconds",
- "recordTypes": [
- "a"
], - "lookup": "{{host}}"
}, - "context": [
- {
- "key": "cn.1",
- "value": "Evertrust"
}
]
}{- "type": "dns",
- "computedLookupValues": [
- "google.com"
], - "name": "Datasource_name",
- "status": "success",
- "dictionary": [
- {
- "key": "cn.1",
- "value": "Evertrust"
}
], - "error": null
}Retrieve a datasource
| name required | string Name of the datasource to retrieve |
{- "_id": "6448d56b310000400063f014",
- "type": "dns",
- "name": "DNS_Datasource",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": "Use this datasource to get DNS values...",
- "host": "36.54.12.2",
- "port": 68,
- "timeout": "5 seconds",
- "recordTypes": [
- "a"
], - "lookup": "{{host}}"
}Delete a datasource
| name required | string Name of the datasource to delete |
{- "status": 400,
- "error": "DS-005",
- "message": "Referenced DataSource",
- "title": "Referenced DataSource",
- "detail": "Details about the error"
}List the existing WCCE forest mapping(s)
[- {
- "_id": "6448d56b310000400063f014",
- "forest": "string",
- "templateMappings": [
- {
- "template": "string",
- "profile": "string",
- "enrollmentMode": "entity",
- "eoboTrustedCas": [
- "string"
]
}
]
}
]Register a new WCCE forest mapping
The WCCE forest mapping to register
| forest required | string |
required | Array of objects (WcceTemplateMapping) |
{- "forest": "string",
- "templateMappings": [
- {
- "template": "string",
- "profile": "string",
- "enrollmentMode": "entity",
- "eoboTrustedCas": [
- "string"
]
}
]
}{- "_id": "6448d56b310000400063f014",
- "forest": "string",
- "templateMappings": [
- {
- "template": "string",
- "profile": "string",
- "enrollmentMode": "entity",
- "eoboTrustedCas": [
- "string"
]
}
]
}Update an existing WCCE forest mapping
The WCCE forest mapping to update
| forest required | string |
required | Array of objects (WcceTemplateMapping) |
{- "forest": "string",
- "templateMappings": [
- {
- "template": "string",
- "profile": "string",
- "enrollmentMode": "entity",
- "eoboTrustedCas": [
- "string"
]
}
]
}{- "_id": "6448d56b310000400063f014",
- "forest": "string",
- "templateMappings": [
- {
- "template": "string",
- "profile": "string",
- "enrollmentMode": "entity",
- "eoboTrustedCas": [
- "string"
]
}
]
}Retrieve an existing WCCE forest mapping based on its name
| name required | string |
{- "_id": "6448d56b310000400063f014",
- "forest": "string",
- "templateMappings": [
- {
- "template": "string",
- "profile": "string",
- "enrollmentMode": "entity",
- "eoboTrustedCas": [
- "string"
]
}
]
}Delete an existing WCCE forest mapping based on its name
| name required | string |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}List the existing HTTP proxy(ies)
[- {
- "_id": "6448d56b310000400063f014",
- "name": "ExternalProxy",
- "host": "36.52.145.12",
- "port": 8888,
- "credentials": "ProxyCredentials"
}
]Register a new HTTP proxy
HTTP proxy to register
| name required | string Name of the proxy |
| host required | string Hostname of the proxy |
| port required | integer <int32> Port of the proxy |
| credentials | string or null Name of the |
{- "name": "ExternalProxy",
- "host": "36.52.145.12",
- "port": 8888,
- "credentials": "ProxyCredentials"
}{- "_id": "6448d56b310000400063f014",
- "name": "ExternalProxy",
- "host": "36.52.145.12",
- "port": 8888,
- "credentials": "ProxyCredentials"
}Update an existing HTTP proxy
HTTP proxy to update
| name required | string Name of the proxy |
| host required | string Hostname of the proxy |
| port required | integer <int32> Port of the proxy |
| credentials | string or null Name of the |
{- "name": "ExternalProxy",
- "host": "36.52.145.12",
- "port": 8888,
- "credentials": "ProxyCredentials"
}{- "_id": "6448d56b310000400063f014",
- "name": "ExternalProxy",
- "host": "36.52.145.12",
- "port": 8888,
- "credentials": "ProxyCredentials"
}Retrieve an existing HTTP proxy based on its name
| name required | string Name of the HTTP Proxy to retrieve |
{- "_id": "6448d56b310000400063f014",
- "name": "ExternalProxy",
- "host": "36.52.145.12",
- "port": 8888,
- "credentials": "ProxyCredentials"
}Delete an existing HTTP proxy based on its name
| name required | string Name of the HTTP Proxy to delete |
{- "status": 400,
- "error": "HTTP-PROXY-005",
- "message": "Referenced Proxy",
- "title": "Referenced Proxy",
- "detail": "Details about the error"
}List the system configurations
[- {
- "_id": "6448d56b310000400063f014",
- "type": "license",
- "triggers": {
- "onLicenseExpiration": [
- "expirationTrigger"
], - "onLicenseUsage": [
- "licenseTrigger"
]
}
}
]Upsert a system configuration
System configuration entry to upsert
| type required | string Value: "license" The type of the configuration entry |
object or null (License Triggers) Triggers to execute on license events |
{- "type": "license",
- "triggers": {
- "onLicenseExpiration": [
- "expirationTrigger"
], - "onLicenseUsage": [
- "licenseTrigger"
]
}
}{- "_id": "6448d56b310000400063f014",
- "type": "license",
- "triggers": {
- "onLicenseExpiration": [
- "expirationTrigger"
], - "onLicenseUsage": [
- "licenseTrigger"
]
}
}Get an existing system configuration
| type required | string Enum: "license" "internal_monitor" "interface_customization" Type of the configuration entry to get |
{- "_id": "6448d56b310000400063f014",
- "type": "license",
- "triggers": {
- "onLicenseExpiration": [
- "expirationTrigger"
], - "onLicenseUsage": [
- "licenseTrigger"
]
}
}Send an event search query (in HEQL format) and return the event search results
The event search query
| query | string or null |
Array of objects or null (SortElement) | |
| pageIndex | integer or null <int32> |
| pageSize | integer or null <int32> |
| withCount | boolean or null |
{- "query": "string",
- "sortedBy": [
- {
- "element": "notBefore",
- "order": "Asc"
}
], - "pageIndex": 0,
- "pageSize": 0,
- "withCount": true
}{- "results": [
- {
- "_id": "string",
- "code": "ACME-ACCOUNT-KEY-CHANGE",
- "details": [
- {
- "key": "string",
- "value": "string"
}
], - "module": "acme",
- "node": "string",
- "timestamp": 0,
- "removeAt": 0,
- "seal": "string",
- "status": "warning"
}
], - "pageIndex": 0,
- "pageSize": 0,
- "count": 0,
- "hasMore": true
}verify event from id:
| id | string or null |
| from | string or null |
| to | string or null |
{- "status": 400,
- "error": "EVT-004",
- "message": "Invalid Event",
- "title": "Invalid Event",
- "detail": "Details about the error"
}Retrieve an existing event based on its id
| id required | string |
{- "_id": "string",
- "code": "ACME-ACCOUNT-KEY-CHANGE",
- "details": [
- {
- "key": "string",
- "value": "string"
}
], - "module": "acme",
- "node": "string",
- "timestamp": 0,
- "removeAt": 0,
- "seal": "string",
- "status": "warning"
}A discovery event is a specific event type that can only be raised through the discovery workflow.
Send a discovery event search query (in HDQL format) and return the discovery event search results in CSV format
The discovery event search query
| query | string or null |
Array of objects or null (SortElement) | |
| pageIndex | integer or null <int32> |
| pageSize | integer or null <int32> |
| withCount | boolean or null |
{- "query": "string",
- "sortedBy": [
- {
- "element": "notBefore",
- "order": "Asc"
}
], - "pageIndex": 0,
- "pageSize": 0,
- "withCount": true
}{- "status": 400,
- "error": "HQL-001",
- "message": "Invalid HQL query",
- "title": "Invalid HQL query",
- "detail": "Details about the error"
}Send a discovery event search query (in HDQL format) and return the discovery event search results
The discovery event search query
| query | string or null |
Array of objects or null (SortElement) | |
| pageIndex | integer or null <int32> |
| pageSize | integer or null <int32> |
| withCount | boolean or null |
{- "query": "string",
- "sortedBy": [
- {
- "element": "notBefore",
- "order": "Asc"
}
], - "pageIndex": 0,
- "pageSize": 0,
- "withCount": true
}{- "results": [
- {
- "_id": "string",
- "code": "ACME-ACCOUNT-KEY-CHANGE",
- "details": [
- {
- "key": "string",
- "value": "string"
}
], - "module": "acme",
- "node": "string",
- "timestamp": 0,
- "removeAt": 0,
- "seal": "string",
- "status": "warning"
}
], - "pageIndex": 0,
- "pageSize": 0,
- "count": 0,
- "hasMore": true
}Retrieve a specific discovery event based on its id
| id required | string |
{- "_id": "6448d56b310000400063f014",
- "code": "NETSCAN",
- "campaign": "Discovery-DMZ01",
- "sessionId": "63fce2e13000003c008797c4",
- "status": "failure",
- "errorCode": "DISC-FEED-002",
- "errorMessage": "Invalid Discovery Feed",
- "timestamp": 1600050000000,
- "removeAt": 0,
- "clientVersion": "Horizon Client/1.6",
- "clientIp": "127.0.0.1",
- "clientId": "28fd6b8ec75ce39029509c3e76ecd3c0bb160776df89a4a12f4a097862268721",
- "actorId": "horizon-client",
- "certificateId": "5f5f9b3b9b0b1d0311c3b0a2",
- "hostname": "horizon.evertrust.fr",
- "ip": "127.0.0.1",
- "port": 443,
- "source": "netscan"
}[- {
- "_id": "6448d56b310000400063f014",
- "name": "business_unit",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}
]Register a new label
Label to register
| name required | string Technical name of the label |
Array of objects or null (LocalizedString) Display names of the label | |
Array of objects or null (LocalizedString) Localized descriptions of the label |
{- "name": "business_unit",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}{- "_id": "6448d56b310000400063f014",
- "name": "business_unit",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}Update an existing label
Label to update
| name required | string Technical name of the label |
Array of objects or null (LocalizedString) Display names of the label | |
Array of objects or null (LocalizedString) Localized descriptions of the label |
{- "name": "business_unit",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}{- "_id": "6448d56b310000400063f014",
- "name": "business_unit",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}Retrieve an existing label based on its name
| name required | string |
{- "_id": "6448d56b310000400063f014",
- "name": "business_unit",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
]
}Delete an existing label based on its name
| name required | string |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Retrieve an existing grading policy based on its name
| name required | string |
{- "_id": "6448d56b310000400063f014",
- "name": "string",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "rulesets": [
- {
- "ruleset": "string",
- "weight": 0
}
]
}Explain a Grading Policy based on a certificate provided URL encoded (PEM or DER) in the URL
| policy required | string |
| input required | string |
{- "name": "string",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "rulesets": [
- {
- "ruleset": "string",
- "weight": 0
}
], - "certificate": "string",
- "score": 0.1,
- "grade": "string",
- "explained": [
- {
- "name": "string",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "certificate": "string",
- "scope": "string",
- "apply": true,
- "max": 0,
- "obtained": 0,
- "score": 0.1,
- "explained": [
- {
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "score": 0,
- "obtained": 0,
- "scope": "string",
- "condition": "string",
- "apply": true,
- "eval": true
}
]
}
]
}Explain a Grading Policy based on a certificate provided in the request body
| policy required | string |
The X509 certificate file PEM or DER encoded
string or string |
{- "name": "string",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "rulesets": [
- {
- "ruleset": "string",
- "weight": 0
}
], - "certificate": "string",
- "score": 0.1,
- "grade": "string",
- "explained": [
- {
- "name": "string",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "certificate": "string",
- "scope": "string",
- "apply": true,
- "max": 0,
- "obtained": 0,
- "score": 0.1,
- "explained": [
- {
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "score": 0,
- "obtained": 0,
- "scope": "string",
- "condition": "string",
- "apply": true,
- "eval": true
}
]
}
]
}Run a grading policy on every profile/discovery campaigns referenced the grading policy
| policy required | string |
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}List the existing grading policies
[- {
- "_id": "6448d56b310000400063f014",
- "name": "string",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "rulesets": [
- {
- "ruleset": "string",
- "weight": 0
}
]
}
]Retrieve an existing grading rukeset based on its name
| name required | string |
{- "_id": "6448d56b310000400063f014",
- "name": "string",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "scope": "string",
- "rules": [
- {
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "scope": "string",
- "condition": "string",
- "score": 0
}
]
}Explain a Grading Ruleset based on a certificate provided URL encoded (PEM or DER) in the URL
| ruleset required | string |
| input required | string |
{- "name": "string",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "certificate": "string",
- "scope": "string",
- "apply": true,
- "max": 0,
- "obtained": 0,
- "score": 0.1,
- "explained": [
- {
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "score": 0,
- "obtained": 0,
- "scope": "string",
- "condition": "string",
- "apply": true,
- "eval": true
}
]
}Explain a Grading Ruleset based on a certificate provided in the request body
| ruleset required | string |
The X509 certificate file PEM or DER encoded
string or string |
{- "name": "string",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "certificate": "string",
- "scope": "string",
- "apply": true,
- "max": 0,
- "obtained": 0,
- "score": 0.1,
- "explained": [
- {
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "score": 0,
- "obtained": 0,
- "scope": "string",
- "condition": "string",
- "apply": true,
- "eval": true
}
]
}List the existing grading rulesets
[- {
- "_id": "6448d56b310000400063f014",
- "name": "string",
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "scope": "string",
- "rules": [
- {
- "description": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "scope": "string",
- "condition": "string",
- "score": 0
}
]
}
]The configuration cookbook APIs allows the user to export in a human-readable format all the configurations applied to the Horizon instance.
Generate the configuration cookbook in adoc format based on the principal administration permission(s)
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Return the complete information regarding the license:
{- "isValid": true,
- "expiration": 0,
- "version": "string",
- "buildTime": 0,
- "modules": [
- {
- "module": "string",
- "items": 0,
- "limit": 0
}
], - "libraries": [
- {
- "name": "string",
- "version": "string"
}
]
}Schedule a new certificate analytics synchronization
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Flush and restart a certificate analytics synchronization. The certificate analytics will be disabled until the synchronization is done
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Schedule a new event analytics synchronization
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Flush and restart a event analytics synchronization. The event analytics will be disabled until the synchronization is done
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Schedule a new discovery event analytics synchronization
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Flush and restart a discovery event analytics synchronization. The discovery event analytics will be disabled until the synchronization is done
{- "status": 401,
- "error": "SEC-AUTH-001",
- "message": "Unexpected Error",
- "title": "Unexpected Error",
- "detail": "Details about the error"
}Evaluate a computation rule and its dictionary
Playground request to evaluate
object or null | |
| computationRule | string or null (Computation Rule) A computation rule that will dynamically generate a string value from the request's context |
| csr | string or null |
{- "dictionary": {
- "property1": "string",
- "property2": "string"
}, - "computationRule": "{{csr.subject.cn.1}}",
- "csr": "string"
}{- "dictionary": {
- "property1": "string",
- "property2": "string"
}, - "computedValueSingle": "string",
- "computedValueMulti": [
- "string"
]
}Detect and parse a RFC 5280 related file (certificate bundle, certificate, crl, csr)
The file to parse
string or string |
{- "type": "bundle",
- "value": [
- {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}
]
}Decode a pkcs#10 (url encoded)
| pem required | string |
{- "dn": "CN=example.com,OU=IT,O=MyCompany,C=FR",
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "keyType": "rsa-2048",
- "pem": "string"
}Decode a pkcs#10 (file)
The pkcs#10 file PEM or DER encoded
string or string |
{- "dn": "CN=example.com,OU=IT,O=MyCompany,C=FR",
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "keyType": "rsa-2048",
- "pem": "string"
}Extract the certificate and associated private key from a pkcs#12 (file)
The pkcs#12 file PEM or DER encoded
string or string |
{- "certificate": {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}, - "privateKey": "string"
}Retrieve the Trust chain from a x509 certificate (url encoded)
| pem required | string |
| order | string Enum: "rtl" "ltr" "irtl" "iltr" |
[- {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}
]Retrieve the Trust chain from a x509 certificate (file)
| order | string Enum: "rtl" "ltr" "irtl" "iltr" |
The x509 certificate file PEM or DER encoded
string or string |
[- {
- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}
]Decode a x509 certificate (url encoded)
| pem required | string |
{- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}Decode a x509 certificate (file)
The x509 certificate file PEM or DER encoded
string or string |
{- "dn": "CN=Test Certificate,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "dnElements": [
- {
- "type": "string",
- "value": "string"
}
], - "issuerDn": "CN=Test CA,OU=Test,O=Test,L=Test,ST=Test,C=US",
- "serial": "1",
- "notBefore": 1609459200000,
- "notAfter": 1609459200000,
- "keyType": "rsa-2048",
- "signingAlgorithm": "SHA256WITHRSA",
- "pem": "-----BEGIN CERTIFICATE-----\nMI....\n-----END CERTIFICATE-----",
- "subjectKeyIdentifier": "string",
- "certificateThumbprint": "30f727ea932acc3e7ec4716a7c1d1d571a0b9124afbe1d1d81a205562164c69c",
- "certificateSHAOneThumbprint": "string",
- "publicKeyThumbprint": "4d0faebaeaa595aba5fafe6040fa8a2143b019b59a2b25ced3b2fb7393ee10e2",
- "keyUsages": [
- "string"
], - "isKeyUsagesCritical": true,
- "extendedKeyUsages": [
- "string"
], - "isExtendedKeyUsagesCritical": true,
- "selfSigned": false,
- "sans": [
- {
- "sanType": "DNSNAME",
- "value": "docs.evertrust.fr"
}
], - "basicConstraints": {
- "isCa": true,
- "pathLen": 0
}, - "extensions": [
- {
- "key": "ms_sid",
- "value": "wcce_enrollment"
}
], - "crldps": [
- "string"
], - "aias": {
- "ocsp": [
- "string"
], - "crt": [
- "string"
]
}, - "policies": [
- {
- "oid": "string",
- "urls": [
- "string"
]
}
], - "authorityKeyIdentifier": "string",
- "unsupportedExtensions": [
- {
- "oid": "string",
- "hex": "string"
}
]
}Test a datasource flow
Datasource flow to test
Array of objects (Datasource Flow) Representation of a datasource execution flow | |
Array of objects or null (Map entry) Input values for the flow |
{- "dsFlow": [
- {
- "ds": "LDAP_DS",
- "inputs": [
- {
- "key": "LDAP_DS",
- "value": "{{csr.subject.cn.1}}"
}
], - "stopOnSuccess": false
}
], - "context": [
- {
- "key": "cn.1",
- "value": "Evertrust"
}
]
}[- {
- "type": "string",
- "computedLookupValues": [
- "google.com"
], - "name": "Datasource_name",
- "status": "success",
- "dictionary": [
- {
- "key": "cn.1",
- "value": "Evertrust"
}
], - "error": null
}
]Retrieve the template for a datasource flow
Datasource flow to get template for
Array of objects (Datasource Flow) Representation of a datasource execution flow |
{- "dsFlow": [
- {
- "ds": "LDAP_DS",
- "inputs": [
- {
- "key": "LDAP_DS",
- "value": "{{csr.subject.cn.1}}"
}
], - "stopOnSuccess": false
}
]
}[- {
- "name": "Datasource_name",
- "type": "rest",
- "displayName": [
- {
- "lang": "en",
- "value": "Value In English"
}
], - "description": "string",
- "inputs": [
- {
- "key": "LDAP_DS",
- "value": "{{csr.subject.cn.1}}"
}
], - "stopOnSuccess": false,
- "outputs": [
- {
- "key": "cn",
- "multi": false,
- "selected": true
}
]
}
]