Fetch Allowed Principals
The API will fetch the authorized principals configured in the host.
Before you begin
Before attempting to search principals for the host, make sure that the host has been provisioned with a cert based access request.
Request Structure
| Endpoint: | /ssh/host/principal/list |
| Type: | POST |
| Sample URL: | https://<IP/HostName/TenantName>:<GWPORT>/avxapi/ssh/host/principal/list?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 |
(Mandatory) Input parameters to find host principal. Type: Input |
| filter | (Mandatory) Filter parameters to find host
information. Type: Filter |
| Name | Description |
|---|---|
| freeSearch |
Search text to find host information. Type: String |
| deviceName | Name of the device for which principals need to be
fetched. Type: String |
| Name | Description |
|---|---|
| sortColumn |
Column name to be sorted. Type: String Possible values: deviceName, userName |
| sortOrder | Order to be sorted. Type: String Possible values: asc, desc |
| start | Start count of the users to be fetched.
Type: String |
| max | Count of the users 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. |
Response
| Name | Description |
|---|---|
| data | List of user/principal information which matches the search
criteria. Type: List |
| iTotalDisplayRecords | Total number of users available for the search criteria. |
Status Codes
| HTTP Status code | appStatusCode | Message and Possible remediation |
|---|---|---|
| 200 OK | NA | Principal removal action has been triggered. |
| 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 fetch allowed principals for the host using /host/principal/list API.
https://<IP/HostName/TenantName>:<GWPORT>/avxapi/ssh/host/principal/list?gwsource=external{
"input": {
"freeSearch": "",
"deviceName": "TestServer1"
},
"filter": {
"max": "25",
"start": "0",
"sortColumn": "principals",
"sortOrder": "asc"
}
}
{
"response": {
"data": [
{
"deviceName": "TestServer1",
"userName": "admin",
"principals": [
"admin"
],
"audit": {
"createdOn": 1716966974381,
"createdBy": "system",
"updatedOn": 0
},
"_id": "6656d63e9925e474582662ec"
}
],
"iTotalDisplayRecords": 1
},
"message": null,
"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.
