Automation API
The DigiCert Automation API is a powerful API that allows you to automate certificate enrollment and installation on your devices. The Automation API gives you complete control to configure automation profiles and manage automation activities. Use it to access all of the features of automation that are available in CertCentral, without needing to log in to the platform.
Depending on the host where your certificate is installed, you can use the Automation API to set up agent-based or sensor-based (agentless) automation. To learn more about the automation products available in CertCentral, see Certificate lifecycle automation guides.
Authentication
Each request to the Automation API must include an API key. This is done using the custom HTTP header X‑DC‑DEVKEY
. The value for this header is the same API key used to authenticate requests to the other CertCentral APIs.
To learn more about generating an API key and authenticating to CertCentral APIs, see Authentication.
Base URL
Use this base URL when constructing Automation API requests:
https://caas.digicert.com/automationws/v1
Requests
All API requests are submitted via RESTful URLs using REST features, including header-based authentication and JSON/XML request types.
The data character set encoding for requests is UTF-8. A well-formed request uses port 443 and has the user-agent and content-length headers specified.
Method
The Automation API uses these standard HTTP methods:
GET
POST
Body
Most requests require passing JSON formatted data. If an endpoint supports or requires a different format, it will be noted for that endpoint.
Supported content-type values include:
application/json
application/xml
Response
Responses consist of headers and a body. The body is formatted based on the content-type specified in the request.
See Glossary – Headers for information about HTTP header response codes.
Filtering and sorting results
Some requests that return many results support filtering, sorting, and pagination. In the Automation API, the syntax for filtering and sorting data requires that you include the searchCriteriaList
and sorting
parameters in the request body.
The
searchCriteriaList
array is a list of objects. Each object defines a conditional statement. The response only includes results that meet all of the criteria defined in thesearchCriteriaList
array.The
sorting
object contains a single key/value pair. The key is the name of a field to use for sorting. The value defines whether to sort in ascending or descending order by the specified field.
To see which properties an endpoint supports for filtering and sorting, check the reference documentation for the endpoint. For general information and examples of the syntax to use when applying filters and sorting results, see the parameter descriptions and examples below.
Name | Type | Description |
---|---|---|
searchCriteriaList | array | List of objects that define the search criteria for the request. Each object defines a conditional statement that a result must meet to be included in the response. To filter by more than one property, include multiple objects in the |
.. key | string | The name of the property to use for filtering. |
.. operation | string | The operation for the conditional statement. Allowed values: |
.. value | array | One or more values to filter against. |
sorting | object | Object with a key/value pair that defines how to sort the results. |
.. | string | Sorting rule for the specified Allowed values:
|
startIndex | integer | Index of the first result to return. |
pageSize | integer | Number of results per page. |
Filtering and sorting examples
In the sample request body for the Get agent list endpoint below, we use the searchCriteriaList
array to limit the response to results where the AGENTSTATUS
property has a value of Not Configured
. Results are sorted in descending order by the value of the agentName
property.
{ "accountId": 5153184, "searchCriteriaList": [ { "key": "AGENTSTATUS", "operation": "EQUALS", "value": [ "Not Configured" ] } ], "divisionIds": [], "startIndex": 1, "pageSize": 50, "sorting": { "agentName": "DESC" } }
In this next sample request body for the Get automation IPs list endpoint, we use the searchCriteriaList
array to limit the response to results that meet the following criteria:
The value of the
AUTOMATION_STATUS
property has a value ofSUCCESSFULLY_RENEWED
.The value of the
LB_APP_NAME
property has a value ofTomcat
.
Results are sorted in ascending order by the value of the commonName
property.
{ "accountId": 5153184, "searchCriteriaList": [ { "key": "AUTOMATION_STATUS", "operation": "EQUALS", "value": [ "SUCCESSFULLY_RENEWED" ] }, { "key": "LB_APP_NAME", "operation": "LIKE", "value": [ "Tomcat" ] } ], "divisionIds": [], "pageSize": 50, "startIndex": 1, "sorting": { "commonName": "ASC" } }