Trigger Profile Sync for Devices
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: |
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 Constraint: Required if username and password are not provided. |
| username
|
(Mandatory only if sessionID is not provided)
Username for logging in to AppViewX Type: String |
| password
|
(Mandatory only if sessionID is not provided)
Password for logging in to AppViewX Type: String |
| Content-type
|
(Mandatory) Payload content-type with
application/json value. Type: String Constraint: The value must be application/json. |
| gwsource
|
(Mandatory) The source from which the request is
triggered, e.g., external. Type: String |
| Payload
|
Contains all the parameters to be sent in the
request body for the post request. Type: Payload |
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.
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:
| 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 |
| 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 |
| 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 |
| Name | Description |
|---|---|
| partition | Device partition assigned to the profile |
| profileName | Name of the profile |
| SSL Type | SSL type of the profile |
| 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
{ "deviceName": "Certificate_BVT_F5V13_StandAlone",
"syncType": ["PROFILES"] }{
"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
- 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.
