Renew Certificate with ServiceNow Integration
Before you begin
Before attempting to trigger these service requests, ensure that:- The workflow is enabled.Note: For more information on how to enable a workflow, refer the section on Managing Certificates using Automation Workflows.
- The API user has the necessary RBAC permissions to trigger the workflow. You can check this in the Platform module under IDENTITY > Role > Authorized functions.
Request Structure
| Endpoint: | /visualworkflow-submit-request |
| Type: | POST |
| Sample URL: |
To understand the elements of the sample URL, click here. |
| Headers | |
| Content-Type: | application/json |
| Name | Description |
|---|---|
| sessionId
|
(Mandatory, if username and password are not
provided) Session ID received after login. Type: String |
| username
|
(Mandatory if sessionId is not provided) AppViewX login
username. Type: String Constraint: Required if sessionId is not provided. |
| password
|
(Mandatory if sessionId is not provided) AppViewX login
password. Type: String Constraint: Required if sessionId is not provided. |
| gwsource
|
(Mandatory) Source from which the request is
triggered Type: String |
| Payload
|
Contains all the parameters to be sent in the request body for
the put request. Type: Payload |
Payload
| Name | Description |
|---|---|
| category | (Mandatory) Specifies the certificate
category Type: String Possible Values: Server, Client |
| group_name | (Mandatory) Specifies the group to which the created
certificate must be tagged. Type: String |
| certificate_authority | (Mandatory) Name of the certificate authority that
will issue the certificate. Type: String |
| ca_account | (Mandatory) Account name of the selected CA |
| serial number | (Mandatory) Serial number of the
certificate Type: String |
| common_name | (Mandatory) Common name of the
certificate Type: String |
| san_type | (Mandatory) Subject Alternative Name of the
certificate Type: String Possible values: DNS, IP Address |
| dNSNames | (Mandatory) DNS values Type: String Example: www.appviewx.com Constraints: Multiple values must be separated by a comma (,). |
| iPAddresses | (Mandatory) IP values Type: String Example: 192.16x.xx.x Constraints: Multiple values must be separated by a comma (,). |
| directory_names | (Mandatory for EJBCA, Microsoft Enterprise CA, and
Microsoft Standalone CA) Directory names for the
certificate Type: String |
| uniformResourceIdentifiers | (Mandatory for EJBCA, Microsoft Enterprise CA, and
Microsoft Standalone CA) Uniform Resource Identifier for the
certificate Type: String |
| registered_ids | (Mandatory for Microsoft Enterprise CA and Microsoft
Standalone CA) Registered ID of the certificate Type: String |
| othernames | (Mandatory for Microsoft Enterprise CA and Microsoft
Standalone CA) Other names for the certificate Type: String |
| validity | (Mandatory) Unit of time for the certificate's
validity period Type: String Possible values: years, months, days |
| validity_value | (Mandatory if validityUnit has been specified)
Number of units of the time specified as the validity
unit Type: Integer |
| hash_function | (Optional) Hash function for the
certificate Type: String Possible Values: SHA256 |
| cert_attributes | (Mandatory if check_attributes = true) Certificate attribute settings |
| hash_function | (Optional) Hash function for the
certificate Type: String Possible Values: SHA256 |
| user_email | (Optional) Email address for sending status
notificatiosn for certificate create and push Type: String |
| email_ID | (Optional) Email address of the organization
requesting the certificate Type: String |
| snow_integration | (Optional) Provision to opt for ServiceNow
integration Type: String Possible values: Yes, No |
| ritm | (Mandatory if snow_integration = Yes)
RITM ticket number of the ServiceNow ticket Type: String |
| snow_account | (Mandatory if snow_integration = Yes)
ServiceNow account Type: String |
| download_format | (Mandatory if snow_integration = Yes)
Download format for certificate tyoe Type: String |
| show_validity | (Optional) Hidden field inside the
form. Type: String |
| Name | Description |
|---|---|
| attribute | (Optional) Certificate attribute name Type: String |
| attribute_value | (Optional) Corresponding certificate attribute
value Type: String |
| Name | Description |
|---|---|
| device_vendor | (Mandatory) Device vendor type based on selection of
device type Type: String Possible values: F5, LinuxServer, Citrix |
| device | (Mandatory) Device name for the selected device
vendor Type: String |
| linux_actions | (Mandatory) Linux action for the selected device
vendor Type: String Possible values: Default, Create KDB label (*.kdb), Certificate Overwrite (*.kdb) |
| selected_profiles | (Mandatory) Profile name for the
device Type: String |
| apache_custom_new | (Mandatory for Apache devices) Provision to opt for
pushing the certificate to a custom location Type: String Possible values: Yes, No |
| apache_certificate_location | (Mandatory if apache_custom_new = Yes)
Certificate path created by the user Type: String |
| apache_key_location | (Mandatory if apache_custom_new = Yes)
Certificate Key path created by the user Type: String |
| password | (Mandatory if linux_actions = Default)
Password for accessing the KDB file Type: String |
| push_cert_type | (Mandatory) Certificate type being
pushed Type: String |
Response Structure
| Name | Description |
|---|---|
| response | Contains the response params for the search object
request. Type: Response |
| message | Success message or failure description in case of
error. Type: String |
| appStatusCode | Application specific status code for the
response Will be non-null for failure response Type: String |
| tags | More information in case of a failure
response Type: NA |
| Name | Description |
|---|---|
| requestId | Unique identifier for the request Type: String |
| workflowVersion | Version of the workflow Type: String |
| message | The message with the status and request number for
the request Type: String |
| status | Status of the request Type: String |
| stausCode | Status code for the request Type: String |
| requestType | Request type Type: String |
| workorderId | The ID of the work order for the request If there is
no workorder, the value will be 0. Type: String |
Status Codes
| HTTP Code | appStatusCode | Response Message |
|---|---|---|
| 200 OK | NA | Success Remediation: NA |
| 400 Bad Request | avx-common-028 | Invalid/ Incorrect payload Remediation: Check and ensure if a valid value is given in the request payload field - input. |
| 401 Unauthorized | WORKFLOW_1679 | User is not authorized. Remediation: Ensure that logged-in user is authorized to access the workflow. |
| 404 Not Found | engine-db-015 | Workflow not found. Remediation: Ensure the workflow data is valid. |
| 409 Conflict | WORKFLOW_1475 | Given workflow is not in enabled
state. Remediation: Enable the workflow. |
| 500 Internal Server Error | WORKFLOW_1617 | Invalid form data. Please provide all mandatory
data Remediation: Ensure a valid value is given in the request payload field - input. |
| 500 Internal Server Error | NA | Error while processing Remediation: NA |
Sample Request/Response
{
"payload": {
"header": {
"workflowName": "Renew Certificate"
},
"data": {
"input": {
"requestData": [
{
"sequenceNo": 1,
"scenario": "scenario",
"fieldInfo": {
"info": "",
"category": "Server,Client",
"group_name": "<mandatory field>",
"policy_hidden": "",
"certificate_authority": "<%certificate_authority%>",
"certificate": "",
"ca_account": "",
"comman_name": "<mandatory field>",
"san_type": "DNS,Directory Name,Email,IP Address,Registered ID,URL,Other Name",
"dNSNames": "",
"iPAddresses": "",
"rfc": "",
"directory_names": "",
"uniformResourceIdentifiers": "",
"otherNames": "",
"registeredIDs": "",
"division": "",
"organisation": "",
"organisation_unit": "",
"country": "",
"city": "",
"state": "",
"postalcode": "",
"mailaddress": "",
"validity": "",
"validity_value": "",
"hash_function": "<mandatory field>",
"bit_length": "",
"key_type": "",
"attrib_details": [
{
"cert_attribute_name": "",
"cert_attribute_value": ""
}
],
"order_id": "",
"server_type": "",
"order_validity": "",
"order_val_till": "",
"end_entity_profile_name": "",
"end_entity_user_name": "",
"issuer_common_name": "",
"certificate_profile_name": "",
"template_name": "",
"additional_email": "",
"resource": "",
"serial_number": "<mandatory field>",
"email_id": "(~get_logged_user_email_id~)",
"ca": "",
"description": ""
}
}
]
},
"globalData": {},
"task_action": 1
}
}
}{
"response": {
"workorderId": "0",
"requestType": "default",
"requestId": "867",
"workflowVersion": "master",
"message": "Workflow Request is created with Id 867 . Request submitted to workflow engine for processing workorder.",
"status": "In Progress",
"statusCode": 0
},
"message": "Success",
"appStatusCode": null,
"tags": null,
"headers": null
}
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 computer network that uses the Internet Protocol for communication
The IP address will be included in the endpoint URL for an on-prem deployment.
- HostName: A human-readable label assigned to a device (host)
on a network
The hostname will be included in the endpoint URL for an on-prem deployment.
- TenantName: An identifier label for a tenant given to
indicate which tenant's data the API request will
access/modify
The tenant name will be included in the endpoint URL for a SaaS deployment.
- IP: A unique identifier assigned to each device connected to
a computer network that uses the Internet Protocol for communication
- GWPORT: AppViewX gateway port
A gateway port refers to a network port through which data is sent and received to communicate with a gateway in an on-prem deployment.
Example: 31443
- avxapi: Path parameter value (static) that is part of the endpoint's URL
- Endpoint: Endpoint of the API, for example: execute-hook
- gwsource: Source or origin of a gateway, for example: external.
