Update DCV Validation Method

The Update DCV Validation Method API updates the DCV (Domain Control Validation) method for one or more domains. Use this API to switch domains from one validation approach to another — for example, from DNS TXT to DNS CNAME — in a single bulk operation. You can also configure auto-revalidation settings as part of the same request.

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/domain/validation/method
Type: POST
Sample URL:
https://<IP/HostName/TenantName>:<GWPORT>/avxapi/certificate/dcv/domain/validation/method?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 update.

Type: Array of String.

Constraint: Required if isSelectAll is false or not provided.

isSelectAll Set to true to apply the validation method change to all domains. When set to true, AppViewX processes the update as a background operation.

Type: Boolean.

Constraint: Required if domainIds is not provided.

validationMethod (Mandatory) DCV validation method to assign to the selected domains.

Type: String. Allowed values: DNS_CNAME, DNS_TXT.

dnsVendor (Mandatory) DNS vendor for automated validation.

Type: String.

dnsServer (Mandatory) DNS server configured in DDI.

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: Active, Expired, Failed, Pending.

enableAutoRevalidation Set to true to enable auto-revalidation for the selected domains after the validation method is updated.

Type: Boolean.

Note: This field is mandatory if retainAutoRevalidationSettings is set to false
revalidationDaysBeforeExpiry Number of days before the domain validation expires to trigger auto-revalidation. Required when enableAutoRevalidation is true. Must be between 1 and 90.

Type: Integer.

retainAutoRevalidationSettings Indicates whether existing auto-revalidation settings must be preserved for the selected domains. Default value is true. When set to false, enableAutoRevalidation must be provided.

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 validation method update results.

Type: Object.

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 Validation method updated successfully for the selected 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 domainIds, or set isSelectAll to true.

400 Bad Request

VALIDATION_ERROR_0004

Validation Failure: validationMethod field does not have the expected value.

Remediation: Use DNS_CNAME or DNS_TXT.

400 Bad Request VALIDATION_ERROR_0004 Mandatory Field dnsVendor is missing or empty.

Remediation: Provide a value for dnsVendor when using DNS CNAME or DNS TXT validation.

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

Remediation: Enter a valid integer between 1 and 90.

500 Internal Server Error — An unexpected error occurred.

Remediation: Contact your AppViewX administrator.

Sample Request/Response

Sample Request — By domain IDs

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

Sample Request — Select all domains

{
  "isSelectAll": true,
  "validationMethod": "DNS_TXT",
  "dnsVendor": "dns-vendor-name",
  "dnsServer": "dns-server-hostname",
  "enableAutoRevalidation": false,
  "retainAutoRevalidationSettings": true
}

Sample Response

{
  "response": {
    "message": "Validation method updated successfully for 2 domain(s).",
    "helpInfo": "DNS CNAME validation is not supported for GlobalSign MSSL and SwissSign CA. DNS TXT validation will be used instead."
  },
  "message": "Validation method updated successfully for 2 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.