Trigger Profile Sync for Devices

The API initiates the synchronization process for the device profile specified in the payload. Profile synchronization can be triggered for only one device at a time.

Before you begin

  • The user should have the ACF permission to view the job scheduler settings.
  • The device to be synced should be present in Appviewx and in Managed state.
  • The user should have R or RW permission to the device specified.

Request Structure

Endpoint: /certificate/profiles/sync
Type: POST
Sample URL:
https://<IP/HostName/TenantName>:<GWPORT>/avxapi/certificate/profiles/sync?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 if username and password are not provided) Session ID received after login

Type: String

Constraint: Required if username and password are not provided.

username

Header

(Mandatory only if sessionID is not provided) Username for logging in to AppViewX

Type: String

password

Header

(Mandatory only if sessionID is not provided) Password for logging in to AppViewX

Type: String

Content-type

Header

(Mandatory) Payload content-type with application/json value.

Type: String

Constraint: The value must be application/json.

gwsource

Query

(Mandatory) The source from which the request is triggered, e.g., external.

Type: String

Payload

Body

Contains all the parameters to be sent in the request body for the post request.

Type: Payload

Payload

Table 2. Payload
Name Description
deviceName (Mandatory) Name of the device for which the profile synchronization must be triggered

Type: String

Constraint:

syncType (Optional) Type of data or configurations to be synchronized for the specified device

Type: List

Constraint: Currently, only profiles is supported, which ensure that all device profiles, for the specified device, are updated. syncType = profiles is also the default value.

Future Support: Additional sync types may be introduced in the future to support other device-related data and configurations.

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 profile sync

Type: response

message Success message or failure description in case of error

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
Table 4. response
Name Description
deviceName Name of the device for which the profile sync has been triggered
category Category of the device for which the profile sync has been triggered
deviceProfiles List of profiles associated with the specified device

Type: deviceProfiles

certificateList List of certificates associated with the specified device
trustedCertificateList List of trusted certificates associated with the specified device
applicationConnectors List of application connectors associated with the specified device
deviceWithFailureMessage Details of sync failures
alerts List of alerts configured for the device
Table 5. deviceProfiles
Name Description
profileId Unique identifier for the device profile
vendor Name of the device vendor
deviceName User friendly name assigned to the device
vendorCategory Category of the device vendor
profileIdentifierForView Identifier used for displaying the profile
profileDisplayOrder Order in which the profile attributes will be displayed
connectorType Type of the application connector associated with the device profile (profile connector or default connector)
applications List of applications associated with the device profile
hollisticViewData Holistic list of profile attributes

Type: holisticViewData

overviewData Summary of profile details
inventoryData Inventory-related profile data
vendorProperties Additional device vendor-specific details

Type: vendorProperties

Table 6. hollisticViewData
Name Description
partition Device partition assigned to the profile
profileName Name of the profile
SSL Type SSL type of the profile
Table 7. vendorProperties
Name Description
partition Name of the partition associated with the device
partitionNameWithoutPath Name of the partition without path formatting
iAppProfile Indicates if this profile is an iApp-managed profile

Status Codes

HTTP Code appStatusCode Response Message
202 Accepted null 200 OK Response with the device profiles information
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.

400 Bad Request AVX-VLDTN-001 Invalid payload data

Remediation: Ensure that the input values mentioned in the payload are valid.

400 Bad Request INVALID_REQUEST Invalid request specified.

Remediation: Ensure that the payload is valid.

404 Not Found ERR_DEVICE_UNAVAILABLE Given device is not available

Remediation: Ensure that the device specified is available in the inventory.

417 Expectation Failed ERR_DEVICE_STATUS Sync is not supported for device with status: Inprogress

Remediation: Ensure that the device specified is managed.

403 Forbidden USER_DOES_NOT_HAVE_PERMISSION The user does not have R or RW permission to the device to perform the sync.

Remediation: Ensure that the user has the requisite permissions.

Sample Request/Response

Request Payload
{ "deviceName": "Certificate_BVT_F5V13_StandAlone", 
"syncType": ["PROFILES"] }
Response
{
"response": {
"deviceName": "Certificate_BVT_F5V13_StandAlone",
"category": "ADC",
"deviceProfiles": [
{
"profileId": "Certificate_BVT_F5V13_StandAlone:@Common",
"vendor": "F5",
"deviceName": "Certificate_BVT_F5V13_StandAlone",
"vendorCategory": "ADC",
"profileIdentifierForView": "Certificate_BVT_F5V13_StandAlone:Common",
"profileDisplayOrder": "Partition:@Profile Name:@SSL Type",
"connectorType": "DEFAULT_CONNECTOR",
"applications": [],
"hollisticViewData": {
"Partition": "Common",
"Profile Name": "NA",
"SSL Type": "NA"
},
"overviewData": {},
"inventoryData": {},
"vendorProperties": {
"partition": "Common",
"partitionNameWithoutPath": "Common",
"iAppProfile": false
}
}
],
"certificateList": [],
"trustedCertificateList": [],
"applicationConnectors": [],
"deviceWithFailureMessage": {},
"alerts": []
},
"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.