Issue Certificate

The API initiates a request to issue certificate.

Before you begin

Ensure the following before attempting to renew certificate from any CA through AppViewX:

Request Structure

Endpoint: v1/pki/ca/issue/cert
Type: POST
Sample URL:
https://<IP/HostName/TenantName>:<GWPORT>/avxapi/v1/pki/ca/issue/cert?gwsource=external

To understand the elements of the sample URL, click here.

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.

Payload

Table 2. Payload
Name Description
caName (Mandatory) Name of the Certificate Authority to issue the certificate from.

Type: String

templateName (Mandatory) The certificate template to use.

Type: String

validityUnit (Mandatory) Unit for the certificate's validity (e.g., months, years).

Type: String

validityUnitValue (Mandatory) Action to triggered with the request

Type: Integer

csrContent (Mandatory) Base64-encoded CSR (Certificate Signing Request)

Type: String

certificateType (Mandatory) Type of certificate to be issued (e.g., End Certificate, Client, etc.)

Type: String

Response Structure

Response returns string of type application/json with the following body parameters:

Table 3. Parameters
Name Description
response Contains the response attributes for the issue certificate request.
message Success message - Issue certificate action triggered successfully.

Type: String

appStatusCode Application specific status code for the response. It is a non-null value for a failure response.

Type: String

tags Additional information in case of failure response.

Status Codes

HTTP Code appStatusCode Response Message
200 Accepted null Issue certificate action has been triggered successfully.
401 Unauthorized AVX_GW_003 Authentication failed, reason - Invalid Credentials.

Remediation: Ensure that valid username and password or a valid sessionId is provided as header parameters.

417 Expectation Failed CA_CONFIG_NOT_FOUND Occurs when specified CA is not present.

Remediation: Ensure that specified CA is present.

500 Internal Server Error TEMPLATE_NAME_NOT_AVAILABLE_IN_DB Occurs when specified Template is not present.

Remediation: Ensure that specified template is present.

400 Bad Request VALIDATION_ERROR_0004 Occurs when csrContent field is not present.

Remediation: Ensure that csrContent field is present.

Sample Request/Response

Request Payload

{
    "caName": "RootCaMay8",
    "templateName": "WebServer",
    "validityUnit": "months",
    "validityUnitValue": 1,
    "csrContent": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQ3h6Q0NBYThDQVFBd0dURVhNQlVHQTFVRUF3d09kM2QzTG1kdmIyZHNaUzVqYjIwd2dnRWlNQTBHQ1NxRwpTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDVUhxWnI1bVhlWCtjOXk0bTg1R2VIUXR2S3EyQVpjVHRxCi9UM1lzMlE3M3k0YWEvN1pncW5IM2lTM0hTWCs4RjlYOHFuSVphUlIvTzJ6Z1A1MVc1dXE5QkNGTEFMZ0pRclEKenBhTEhQekorOEtUMmJSblczRmtVTitUeG1MZkhXSnFYRy9iRUZWM3FOdUVmTGtQcXlWZU5wWE95YlJCWkNLbwpQNkViY1g0THhUN241NzAwVTRQQ242aDE4WmVFOWtIV2NIb0FVejJpV1NOVVF3U3NmTnljSnZib09GdUxmN1hZCkFPY0xLTWltSHd1OWdaVkZtaTZDNm5TVFl4WmhMV3VhUFFtcDdzdTUzUkJ1WjRsWTlldE11Z0VWMEo1cks4TXkKZmRMbVIvRHZWUXhxMkI2djZDOGg2ckU5QVdxOVJYQ1dKR3lXdWVSSlJNRG5wVUJhTU5wTkFnTUJBQUdnYVRCbgpCZ2txaGtpRzl3MEJDUTR4V2pCWU1Bd0dBMVVkRXdFQi93UUNNQUF3RGdZRFZSMFBBUUgvQkFRREFnV2dNQmtHCkExVWRFUVFTTUJDQ0RuZDNkeTVuYjI5bmJHVXVZMjl0TUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3IKQmdFRkJRY0RBakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBUGh2aXcvc0hYR1BEdzAwaURRcUtTdjRrT1VncApINmw3SC9aOTF0eEhvVEZteGlRRGxXYlJJYU9KeGlqbElvMlowQ1NHK0x3SC9yUFpBbDk1a0I1NFdYLzQ3aklICnBGVE1KczhyMFFRZ25uRE5TdFQyc1BGZ3g1R0ZnMWlkSmw3Zk1GUmhxb0QyejR2QnNSUUtPS25yR2Jhb0dLZ2YKbzFXN2NXR2REZVBoOHJmZHB4RjlBMjRUcHMwekpPcDNLUnN4V0pzeTNXaE9Qd0IxRWx6RDloS040Szh6Sis5egpuc2hUL0tORE5VNVYwakRxbkhOdS9vdmlSZDA4TVl0K2xzano2cUk0dXNGZU5rVmZBcUpKNUl0cmZsYmN0WmpsCmEvdnVZdHhSU2hOdVcrc1FIOS9GcFpHR3o5T3o3aVJOcjRLNGFXTFFFZndnUTI1WmdPekQ5M1lDS2c9PQotLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0=",
    "certificateType": "End Certificate"
}
Response

{
    "response": 
     "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZsakNDQTRDZ0F3SUJBZ0lRYl
     RRcm1ySFpsQllBZUw2NFprYXdsREFMQmdrcWhraUc5dzBCQVFzd1hqRUxNQWtHQTFVRUJoTUNTVTR4
     Q3pBSkJnTlZCQWdNQWxST01Rd3dDZ1lEVlFRSERBTkRRa1V4RmpBVUJnTlZCQW9NRFVGd2NGWnBaWGRZSUVsdVl5 
     NHhDekFKQmdOVkJBc01BbEJGTVE4d0RRWURWUVFEREFaU2IyOTBRMEV3SGhjTk1qVXdOVEV6TURrMU5UVTJXaGNOTWp
     Vd05qRXpNak0xT1RVNVdqQVpNUmN3RlFZRFZRUUREQTUzZDNjdVoyOXZaMnhsTG1OdmJUQ0NBU0l3RFFZSktvWklod
     mNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUpRZXBtdm1aZDVmNXozTGliemtaNGRDMjhxcllCbHhPMnI5UGRpelpEdmZMa
     HByL3RtQ3FjZmVKTGNkSmY3d1gxZnlxY2hscEZIODdiT0EvblZibTZyMEVJVXNBdUFsQ3RET2xvc2MvTW43d3BQWnRHZGJjV1
     JRMzVQR1l0OGRZbXBjYjlzUVZYZW8yNFI4dVErckpWNDJsYzdKdEVGa0lxZy9vUnR4Zmd2RlB1Zm52VFJUZzhLZnFIWHhsNFQy
     UWRad2VnQlRQYUpaSTFSREJLeDgzSndtOXVnNFc0dC90ZGdBNXdzb3lLWWZDNzJCbFVXYUxvTHFkSk5qRm1FdGE1bzlDYW51e
     TduZEVHNW5pVmoxNjB5NkFSWFFubXNyd3pKOTB1Wkg4TzlWREdyWUhxL29MeUhxc1QwQmFyMUZjSllrYkphNTVFbEV3T2VsUUZ
     vdzJrMENBd0VBQWFPQ0FaY3dnZ0dUTUIwR0ExVWREZ1FXQkJTQ1E5UldNZTU2elBVd0x0UTIxRThpT0NaYmtUQWZCZ05WSFNNRUd
     EQVdnQlRFUUF6SHM3SktveHdKalpmb2NHZXZicXVXcnpBT0JnTlZIUThCQWY4RUJBTUNCYUF3REFZRFZSMFRBUUgvQkFJd0FEQVR
     CZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBVEJSQmdOVkhSOEVTakJJTUVhZ1JLQkNoa0JvZEhSd2N6b3ZMekU1TWk0eE5qZ3VNV
     FExTGpnMk9qTXhORFF6TDJGMmVHRndhUzlrYjNkdWJHOWhaQzFqY213dlVtOXZkRU5CTVM5amNtd3VZM0pzTUlIS0JnZ3JCZ0V
     GQlFjQkFRU0J2VENCdWpBNkJnZ3JCZ0VGQlFjd0FZWXVhSFIwY0RvdkwzQmxMV055ZVhCMGJ5MWhjSFo0TFc0MkxteGhZaTVoY0h
     CMmFXVjNlQzV1WlhRdmIyTnpjREI4QmdnckJnRUZCUWN3QW9ad2FIUjBjSE02THk4eE9USXVNVFk0TGpFME5TNDROam96TVRRME1
     5OWhkbmhoY0drdlpHOTNibXh2WVdRdGFYTnpkV1Z5TDFKdmIzUkRRVEUvYzJWeWFXRnNUblZ0WW1WeVBURXpNakkzTVRneU5qVT
     JORFUzTWpNd01EZ3hOREV6TVRRMk5qTTRPVFEzTWpVNU9EWTFPREFMQmdrcWhraUc5dzBCQVFzRGdnSUJBR0ZJN24xRnY4SkN3RlRMN
     Hc3OEZTcDZDZmdTZXVaWTNsaysweVBSOWlSczdINW9yOGFVcWJvTUJ6dVlYYkd1R2wvU0kzRnEvYUF3MDRtZDNsRGdYQkt0OWZYMWg1
     SFZUTE9IeFNGMkQ0K20zOW9OVEx5RlJ3cy9PRENOcTZ3U25BbXk5WHRMTFFBWWgzc1pQR2tPUVVla1lMN1Y2VXRKeW8rT3RYTTE0Nn
     VGakhKTHA2eDBTQjNNeDhJR3B5ZEw2ME4zMDF3eXNXYloxSHJpdWJLWjdNb0hCVDBhSERBTitXRWNVQU44ajRoSTNFTFdpekFme
     DFBQ013V25iMjJVUFdhQnR6elVHOUhvbWZ5VGNYWVlJNW1RMkhoWExZazlqZzFzRTZjTmdNOUpDUHdTOENXdXVqSk9pYTg0Z2pmbzkr
     SnA3WXVFQUxBQi9oR2hlYlpXMmNDclBpS2U1UmpaSGJiQ2RyVGY2bmtDUGNod0VwNTB2VnhZalQ4YzFadnk4Z0kxVHJKNVpBdGg0dHdXY
     3ZiTUttbHduZldtU2x2cFhvcnZpRzR2YWVPbHA4VnZ3YkNHMFFsazdFU1N3WjJROUJ0cUtjb2grbk9SQ1NZd1IxTGtBNGtqMG5lWGhpb
     3BsMGJ3YmhFdTh6eEFmZWZLRFQrcGtFNHVOQThNNHpETjh1NnVVZXFMUGNDbFdnMmVlV0hPR0x6bzhqRjVzZWZKelRJR3gwVUE5ME0wYWs
     3ZDRBVEU3ZUNRWTBYMG9ERHZQWGtUSEY5YlpRRTM3S0h5Qm41U3g5V2crZUQwYmZFN1p6Mm5SOUJYWjk1V2VGRm9vZGxmUkdRWmNWMm90
     MkIvTTJqRkdKSWJneEZtblJMTkdpWDc0M0ZmVW5IbTFORU5RK2krMHhNTzZNazUKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=",
    "message": null,
    "appStatusCode": null,
    "tags": {},
    "headers": null
}

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 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.

  • 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.