Set Auto Revalidation for DCV Domains

The Set Auto Revalidation API sets auto-revalidation settings for one or more DCV domains in AppViewX. When auto-revalidation is configured, AppViewX automatically re-validates the domain a set number of days before the current validation expires, without requiring manual intervention.

Before you Begin

Ensure the following before calling this API:
  • 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 update exist in AppViewX. Use the List DCV Domains API to retrieve valid domain IDs.
  • When setting validationMethod to DNS_CNAME or DNS_TXT, ensure that a DNS integration is configured and available in AppViewX.

Request Structure

Endpoint: /certificate/dcv/auto/revalidate
Type: POST
Sample URL:
https://<IP/HostName/TenantName>:<GWPORT>/avxapi/certificate/dcv/auto/revalidate?gwsource=external

To understand the elements of the sample URL, see References.

Headers
Content-Type: application/json
Table 1. Input Parameters
Name Description
sessionId

Header

(Mandatory) Session ID received after login.

Type: String

Constraint: Required if username and password are not provided.

username

Header

(Mandatory) AppViewX login username.

Type: String

Constraint: Required if sessionId is not provided.

password

Header

(Mandatory) AppViewX login password.

Type: String

Constraint: Required if sessionId is not provided.

Content-Type

Header

(Mandatory) Format of the request body.

Type: String

Constraint: Value must be application/json.

gwsource

Query

(Mandatory) Source from which the request is triggered.

Type: String

Example: external

Payload

Body

Contains all the parameters to include in the request body.

Type: Payload

Payload Parameters

Parameter Description
domainIds List of domain IDs to apply the auto-revalidation settings to.

Type: Array of String.

Constraint: Required if isSelectAll is false or not provided.

isSelectAll Set to true to apply the settings to all domains. Set to false to apply only to the domains specified in domainIds.

Type: Boolean.

Constraint: Required if domainIds is not provided.

status Filter domains by validation status. Applied when isSelectAll is true.

Type: String. Allowed values: Active, Expired, Failed, Pending.

search Filter domains by search text. Applied when isSelectAll is true.

Type: String.

revalidationDaysBeforeExpiry (Mandatory) Number of days before the domain validation expires to trigger auto-revalidation. For example, a value of 30 triggers revalidation 30 days before the expiry date. Must be between 1 and 90.

Type: Integer.

validationMethod DCV validation method to use for auto-revalidation.

Type: String. Allowed values: DNS_CNAME, DNS_TXT.

Note: This field is mandatory when updateValidationMethodForInEligibleDomains = true.
dnsVendor DNS vendor for automated validation. Required when validationMethod is DNS_CNAME or DNS_TXT.

Type: String.

dnsServer DNS server configured in DDI. Required when validationMethod is DNS_CNAME or DNS_TXT.

Type: String.

updateValidationMethodForInEligibleDomains Set to true to apply the specified validationMethod even to domains that do not currently support the selected method. When set to false, ineligible domains are skipped.

Type: Boolean.

Important: DNS CNAME validation is not supported for GlobalSign MSSL and SwissSign CA. AppViewX automatically uses DNS TXT validation for those domains.

Response Structure

The API returns a response of type application/json with the following parameters:

Parameter Description
response Contains the auto-revalidation update results.

Type: Object.

response.totalRequestedDomains Total number of domains included in the request.

Type: Integer.

response.updatedDomainIds List of domain IDs that were successfully updated.

Type: Array of String.

response.updatedDomainsCount Number of domains that were successfully updated.

Type: Integer.

response.skippedIneligibleDomainIds List of domain IDs that were skipped because they are not eligible for the specified validation method.

Type: Array of String.

response.skippedIneligibleDomainsCount Number of domains skipped due to ineligibility.

Type: Integer.

response.message Message summarizing the update result.

Type: String.

response.helpInfo Additional information relevant to the response, such as validation method compatibility notes.

Type: String.

message Top-level message summarizing the update result.

Type: String.

tags Additional information returned in case of a failure response.

Status Codes

HTTP Status appStatusCode Description
200 OK null Auto-revalidation settings updated successfully.
400 Bad Request MANDATORY_FIELD_MISSING Mandatory field is missing or invalid - either isSelectAll or domainIds must be provided.

Remediation: Provide a list of domain IDs in domainIds, or set isSelectAll to true.

400 Bad Request DOMAIN_DCV_0016 revalidationDaysBeforeExpiry must be between 1 and 90..

Remediation: Enter a valid integer between 1 and 90.

400 Bad Request VALIDATION_ERROR_0004 Validation Failure: Field validationMethod does not have the expected value

Remediation: Use DNS_CNAME or DNS_TXT.

500 Internal Server Error — An unexpected error occurred during the update.

Remediation: Contact your AppViewX administrator.

Sample Request/Response

Sample Request — By domain IDs

{
  "domainIds": [
    "domain-id-1",
    "domain-id-2"
  ],
  "revalidationDaysBeforeExpiry": 30,
  " isSelectAll": false,
  "validationMethod": "DNS_CNAME",
  "dnsVendor": "dns-vendor-name",
  "dnsServer": "dns-server-hostname",
  "updateValidationMethodForInEligibleDomains": false
}

Sample Request — Select all domains with filter

{
  " isSelectAll": true,
  "revalidationDaysBeforeExpiry": 30,
  "validationMethod": "DNS_CNAME",
  "dnsVendor": "dns-vendor-name",
  "dnsServer": "dns-server-hostname",
  "updateValidationMethodForInEligibleDomains": false
}

Sample Response

{
  "response": {
    "totalRequestedDomains": 2,
    "updatedDomainIds": [
      "domain-id-1"
    ],
    "updatedDomainsCount": 1,
    "skippedIneligibleDomainIds": [],
    "skippedIneligibleDomainsCount": 0,
    "message": "Auto revalidation settings have been updated for 1 domain(s).",
    "helpInfo": "DNS CNAME validation is not supported for GlobalSign MSSL and SwissSign CA. DNS TXT validation will be used instead."
  },
  "message": "Auto revalidation settings have been updated for 1 domain(s).",
  "tags": {}
}

References

Understanding the sample URL
  • 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.