Bulk Revalidate DCV Domains
The Bulk Revalidate DCV Domains API triggers on-demand revalidation for one
or more DCV domains. Use this API when you want to manually start the validation process for
specific domains immediately, without waiting for the scheduled auto-revalidation cycle.
Before you Begin
- You have valid AppViewX credentials or an active session ID.
- The Certificate Lifecycle Management module is enabled and accessible.
- You have the DCV CA Mgmt View and DCV CA Mgmt Add/Modify permissions assigned to your user account.
- The domain IDs you want to revalidate exist in AppViewX. Use the
List DCV DomainsAPI to retrieve valid domain IDs. - When setting
updateValidationMethodForInEligibleDomainstotrue, ensure a compatible DNS integration is configured in AppViewX.
Request Structure
| Endpoint: | /certificate/dcv/domain/bulk/revalidate |
| Type: | POST |
| Sample URL: |
To understand the elements of the sample URL, see References. |
| Headers | |
| Content-Type: | application/json |
| Name | Description |
|---|---|
| sessionId
|
(Mandatory) Session ID received after login. Type: String Constraint: Required if |
| username
|
(Mandatory) AppViewX login username. Type: String Constraint: Required if |
| password
|
(Mandatory) AppViewX login password. Type: String Constraint: Required if |
| Content-Type
|
(Mandatory) Format of the request body. Type: String Constraint: Value must be
|
| gwsource
|
(Mandatory) Source from which the request is triggered. Type: String Example: |
| Payload
|
Contains all the parameters to include in the request body. Type: Payload |
Payload Parameters
| Parameter | Description |
|---|---|
domainIds |
List of domain IDs to revalidate. Type: Array of String. Constraint: Required if A maximum of 1000 entries are supported. |
isSelectAll |
Set to true to trigger revalidation for all domains matching the filter criteria. When set to true, AppViewX processes the operation as a background job.Type: Boolean. Constraint: Required if |
comment |
(Mandatory) A reason or note for initiating the revalidation. This is recorded in the domain audit trail. Type: String. |
search |
Filter domains by search text. Applied as a search filter when
isSelectAll is true.Type: String. |
status |
Filter domains by validation status. Applied when isSelectAll
is true.Type: String. Allowed values:
|
updateValidationMethodForInEligibleDomains |
Set to true to switch domains that are not eligible for their current validation method to a supported method before revalidating. Set to false to skip ineligible domains.Type: Boolean. |
validationMethod |
DCV validation method to apply to ineligible domains. Required when updateValidationMethodForInEligibleDomains is true.Type: String. Allowed values: |
dnsVendor |
DNS vendor for automated validation. Required when validationMethod is provided.Type: String. |
dnsServer |
DNS server configured in DDI. Required when
validationMethod is provided.Type: String. |
Response Structure
The API returns a response of type application/json with the following
parameters:
| Parameter | Description |
|---|---|
response |
Contains the revalidation trigger results. Type: Object. |
response.message |
Message summarizing the revalidation trigger result. Type: String. |
response.helpInfo |
Additional information relevant to the response, such as validation method
compatibility notes. Type: String. |
response.domainRevalidationStatusMap |
Map of domain IDs to their revalidation queue status. Each key is a domain ID
and each value is the current status of that domain's revalidation job. Type:
Object. Example: |
response.totalRequestedDomains |
Total number of domains included in the request. Type: Integer. |
response.ineligibleDomainsCount |
Number of domains that were skipped because they are not eligible for
revalidation. Type: Integer. |
message |
Top-level message summarizing the revalidation trigger result. Type: String. |
tags |
Additional information returned in case of a failure response. |
Status CodesMandatory field is missing or invalid
| HTTP Status | appStatusCode | Description |
|---|---|---|
200 OK |
null | Revalidation triggered successfully for the requested domains. |
400 Bad Request |
MANDATORY_FIELD_MISSING |
Mandatory field is missing or invalid - either domainIds or
isSelectAll must be provided.Remediation: Provide a
list of domain IDs in |
400 Bad Request |
MANDATORY_FIELD_MISSING |
Mandatory field is missing or invalid -
comment.Remediation: Provide a reason for the
revalidation in the |
400 Bad Request |
INVALID_REQUEST |
Invalid request specified - comment length should not exceed 2000
characters. Remediation: Shorten the comment text. |
400 Bad Request |
DCV-0001 | Cannot use isSelectAll together with a specific domain list.
To act on all domains, enable isSelectAll and leave the domain list
empty. To act on specific domains, uncheck isSelectAll and choose
them individually.Remediation: Provide either
|
400 Bad Request |
MANDATORY_FIELD_MISSING |
Mandatory field is missing or invalid -
validationMethod.Remediation: Provide a
|
400 Bad Request |
MANDATORY_FIELD_MISSING |
Mandatory field is missing or invalid -
dnsVendor.Remediation: Provide a value for
|
500 Internal Server Error |
— | An unexpected error occurred. Remediation: Contact your AppViewX administrator. |
Sample Request/Response
Sample Request — By domain IDs, skip ineligible
{
"domainIds": [
"domain-id-1",
"domain-id-2"
],
"comment": "Quarterly domain revalidation run",
"isSelectAll": false,
"updateValidationMethodForInEligibleDomains": false
}
Sample Request — By domain IDs, update method for ineligible domains
{
"domainIds": [
"domain-id-1",
"domain-id-2"
],
"comment": "Revalidation with method update for ineligible domains",
"isSelectAll": false,
"updateValidationMethodForInEligibleDomains": true,
"validationMethod": "DNS_CNAME",
"dnsVendor": "dns-vendor-name",
"dnsServer": "dns-server-hostname"
}
Sample Request — Select all expired domains with filter
{
"isSelectAll": true,
"status": "Expired",
"search": "*.example.com",
"comment": "Bulk revalidation for all expired domains",
"updateValidationMethodForInEligibleDomains": false
}
Sample Response
{
"response": {
"message": "Revalidation on Demand has been successfully triggered for 2 domain(s).",
"helpInfo": "DNS CNAME validation is not supported for GlobalSign MSSL and SwissSign CA. DNS TXT validation will be used instead.",
"domainRevalidationStatusMap": {
"domain-id-1": "Queued",
"domain-id-2": "Queued"
},
"ineligibleDomainsCount": 0,
"totalRequestedDomains": 2
},
"message": "Revalidation on Demand has been successfully triggered for 2 domain(s).",
"tags": {}
}
References
- IP/HostName/TenantName: Replace with the actual IP address, hostname, or tenant
name based on the specific configuration in AppViewX.
- IP: A unique identifier assigned to each device connected to a network that uses the Internet Protocol for communication. The IP address is used in the endpoint URL for an on-premises deployment.
- HostName: A human-readable label assigned to a device on a network. The hostname is used in the endpoint URL for an on-premises deployment.
- TenantName: An identifier for a tenant indicating which tenant's data the API request accesses or modifies. The tenant name is used in the endpoint URL for a SaaS deployment.
- GWPORT: AppViewX gateway port. Example: 31443
- avxapi: Static path parameter that is part of the endpoint URL.
- gwsource: Source or origin of the gateway request. Example: external.
