Search Hosts
The API will search hosts and its information from the host inventory.
Before you begin
- Hosts must be added in AppViewX.
Request Structure
| Endpoint: | /ssh/search/hosts |
| Type: | POST |
| Sample URL: | https://<IP/HostName/TenantName>:<GWPORT>/avxapi/ssh/search/hosts?gwsource=externalTo understand the elements of the sample URL, click here. |
| Headers: | |
| Content-Type: | application/json |
| Name | Description |
|---|---|
| sessionId
|
(Mandatory) Session ID received after
login. Type: String Constraints: Required if username and password are not provided. |
| username
|
(Mandatory) AppViewX login username Type: String Constraints: Required if sessionId is not provided. |
| password
|
(Mandatory) AppViewX login password Type: String Constraints: Required if sessionId is not provided. |
| Content-Type
|
(Mandatory) Specifies the nature of the data in the
payload Type: String Constraints: The value of the param should be ‘application/json’. |
| gwsource
|
(Mandatory) Source from which the request is
triggered. (E.g. external) Type: String |
| Payload
|
(Mandatory) Contains all the parameters to be sent
in the request body for the post request Type: Payload |
Payload
| Name | Description |
|---|---|
| input | (Optional) Input parameters to find host
information Type: Input |
| filter | (Mandatory) Filter parameters to find host
information Type: Filter |
| Name | Description |
|---|---|
| freeSearch | (Optional) Search text to find host
information Type: String |
| Name | Description |
|---|---|
| sortColumn | (Mandatory) Column name to be sorted Type: String |
| sortOrder | (Mandatory) Order to be sorted Possible values: asc, desc |
| start | (Mandatory) Start count of the hosts to be fetched Type: String |
| max | (Mandatory) Count of the hosts to be fetched Type: String |
Response Structure
200 OK returns string of type application/json with the following body params.
| Name | Description |
|---|---|
| response | Contains the response attributes for the
hosts Type: response |
| message | Success message of the action or failure description
in case of error. Will be non-null for failure
response Type: String |
| appStatusCode | Application-specific status code for the response.
Will be non-null for failure response Type: String |
| tags | More info in case of failure response |
| Name | Description |
|---|---|
| data | List of host information which matches the search criteria Type: List |
| iTotalDisplayRecords | Total number of host available for the search criteria |
Status Codes
| HTTP Status code | appStatusCode | Message and Possible remediation |
|---|---|---|
| 200 OK | NA | Host information retrieved successfully |
| 401 Unauthorized | AVX_GW_003 | Authentication failed, reason - Invalid
Credentials Possible remediation: Ensure that valid username and password or valid sessionId is provided as the header param. |
| 400 Bad Request | AVX-VLDTN-001 | Mandatory field is missing or invalid values
specified - <<field name>> Possible remediation: Check and ensure that valid value is provided for <<field name>> field in the request. |
Sample Request/Response
To search for hosts using search_hosts API.
https://<IP/HostName/TenantName>:<GWPORT>/avxapi/ssh/search/hosts?gwsource=external {
"input": {
"freeSearch": "pe-cert-apvx-node05"
},
"filter": {
"sortColumn": "none",
"sortOrder": "desc",
"start": "0",
"max": "100"
}
}
{
"response": {
"data": [
{
"sshHost": {
"credentialType": "Manual Entry",
"fqdn": "pe-cert-apvx-node05.lab.appviewx.net.",
"ipAddress": "192.168.60.133",
"userName": "appviewx",
"loginType": "password",
"groupName": "Default_Host_Group",
"deviceName": "pe-cert-apvx-node05",
"port": "22",
"accessElevation": "sudo",
"hostName": "",
"fingerPrint": "",
"status": "Unresolved",
"displayName": "192.168.60.133",
"vendorType": "linux",
"category": "Host",
"keyWords": [
"Unresolved",
"22",
"NA",
"192.168.60.133",
"pe-cert-apvx-node05",
"appviewx",
"Default_Host_Group",
"Host",
"sam"
],
"groupIds": [
"5767bcdc3465bfbf73e44726"
],
"createdTime": 1716221229762,
"adcAccess": false,
"isClient": false,
"isBastion": false,
"deviceType": [
"NA"
],
"deviceStatusList": [
{
"title": "Network Status: Reachability Check",
"message": "FQDN pe-cert-apvx-node05.lab.appviewx.net. resolution failed.",
"status": "Failed",
"timeStamp": 1716221234111
}
],
"isSudoUser": true,
"isValidSudo": false,
"lastSyncTime": 1716221229526,
"sshKeysCount": 0,
"certificatesCount": 0,
"communicationMode": "SSH",
"accessGroups": [
"sam"
],
"accessGroupDeviceType": "Host",
"clientServerAccessGroups": [],
"categoryType": "server",
"userComplianceGroup": "Default_Key_Group",
"inventoryAction": "manage",
"sshSyncKeyDetail": {
"autoCreateHPGroup": false,
"sshSyncEnabled": false,
"appInfraAccessGroup": [
"sam"
],
"sshScanType": "default",
"sshScanDetails": [],
"discoverKeyType": [
"User Keys",
"Host Keys"
],
"fromSSHSubsystem": false
},
"dataCenter": "absecon",
"accessType": "Certificate",
"discoverySeqId": 0,
"discoveryBatchNo": 0,
"allowedPrincipalCount": 0,
"sshOrigin": true,
"update": false,
"new": false,
"selected": false,
"active": true,
"_id": "664b752d6c117a54017bc2f3"
},
"groups": [
{
"Default_Host_Group": "RW"
}
],
"displayName": "192.168.60.133",
"fingerPrint": "",
"permission": "RW",
"groupPermissions": {
"sam": "RW"
},
"_id": "664b752d6c117a54017bc2f3"
}
],
"iTotalDisplayRecords": 1
},
"message": "Host information retrieved successfully",
"appStatusCode": null,
"tags": {},
"headers": null
}
Reference
- 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.Note: GWPORT is not required for SaaS setups.
Example: 31443
- avxapi: Path parameter value (static) that is part of the endpoint's URL
- Endpoint: Endpoint of the API, for example: /ssh/host/create
- gwsource: Source or origin of a gateway, for example: external.