NSX-T Data Center REST API
Associated URIs:
API Description | API Path |
---|---|
List RBAC featuresList all the RBAC features and their properties. |
GET /policy/api/v1/aaa/features-with-properties
GET /api/v1/aaa/features-with-properties |
List LDAP identity sourcesReturn a list of all configured LDAP identity sources. |
GET /policy/api/v1/aaa/ldap-identity-sources
|
Test an LDAP serverAttempt to connect to an LDAP server and ensure that the server can be contacted using the given URL and authentication credentials. |
POST /policy/api/v1/aaa/ldap-identity-sources?action=probe_ldap_server
|
Probe an LDAP identity sourceVerify that the configuration of an LDAP identity source is correct before actually creating the source. |
POST /policy/api/v1/aaa/ldap-identity-sources?action=probe_identity_source
|
Fetch the server certificate of an LDAP serverAttempt to connect to an LDAP server and retrieve the server certificate it presents. |
POST /policy/api/v1/aaa/ldap-identity-sources?action=fetch_certificate
|
Delete an LDAP identity sourceDelete an LDAP identity source. Users defined in that source will no longer be able to access NSX. |
DELETE /policy/api/v1/aaa/ldap-identity-sources/{ldap-identity-source-id}
|
Read a single LDAP identity sourceReturn details about one LDAP identity source |
GET /policy/api/v1/aaa/ldap-identity-sources/{ldap-identity-source-id}
|
Test the configuration of an existing LDAP identity sourceAttempt to connect to an existing LDAP identity source and report any errors encountered. |
POST /policy/api/v1/aaa/ldap-identity-sources/{ldap-identity-source-id}?action=probe
|
Create or update an LDAP identity sourceCreate a new LDAP identity source or update the configuration of an existing LDAP identity source. You may wish to verify the new configuration using the POST /aaa/ldap-identity-sources?action=probe API before creating or changing the configuration. Note that if you are using LDAP on an active and standby NSX-T Global Manager in a federated environment, you must use the same name for your LDAP identity sources on the active and standby Global Managers. |
PUT /policy/api/v1/aaa/ldap-identity-sources/{ldap-identity-source-id}
|
Search the LDAP identity sourceSearch the LDAP identity source for users and groups that match the given filter_value. In most cases, the LDAP source performs a case-insensitive search. |
POST /policy/api/v1/aaa/ldap-identity-sources/{ldap-identity-source-id}/search
|
Create registration access tokenThe privileges of the registration token will be the same as the caller. |
POST /api/v1/aaa/registration-token
|
Delete registration access token |
DELETE /api/v1/aaa/registration-token/{token}
(Deprecated)
|
Get registration access token |
GET /api/v1/aaa/registration-token/{token}
(Deprecated)
|
Delete registration access token |
POST /api/v1/aaa/registration-token/delete
|
Get registration access tokenGet the roles associated with the given registration token |
POST /api/v1/aaa/registration-token/retrieve
|
Get all users and groups with their rolesGet all users and groups with their roles. If the root_path is provided then only return role bindings that start-with or are sub-trees of the provided root path. Also filter the roles_for_paths such that only those roles_for_paths appear that start-with or are sub-tree of the provided root path. |
GET /policy/api/v1/aaa/role-bindings
GET /api/v1/aaa/role-bindings |
Delete all stale role assignments |
POST /policy/api/v1/aaa/role-bindings?action=delete_stale_bindings
POST /api/v1/aaa/role-bindings?action=delete_stale_bindings |
Assign roles to User or GroupThis API is used to assign a user/group any role(s) of choice. It is recommended to use the new property roles_for_paths instead of roles. When using the roles_for_paths, set the read_roles_for_paths as true. User has union of all the roles assigned to it on a particular path and its sub-tree. User name is dealt case-insensitively. |
POST /policy/api/v1/aaa/role-bindings
POST /api/v1/aaa/role-bindings |
Delete user/group's roles assignmentDelete the user/group's role assignment. If the path is provided then deletes only the roles_for_paths that matches the path. If path is provided for the last roles_for_paths then the whole role binding is deleted provided it is not that of a local user. For deleting multiple paths, please provide semi-colon ';' separated paths in the request parameter. |
DELETE /policy/api/v1/aaa/role-bindings/{binding-id}
DELETE /api/v1/aaa/role-bindings/{binding-id} |
Get user/group's role information |
GET /policy/api/v1/aaa/role-bindings/{binding-id}
GET /api/v1/aaa/role-bindings/{binding-id} |
Update User or Group's rolesThis API is used to update a user/group any role(s) of choice. It is recommended to use the new property roles_for_paths instead of roles. When using the roles_for_paths, set the read_roles_for_paths as true. User has union of all the roles assigned to it on a particular path and its sub-tree. User name is dealt case-insensitively. This API will merge the existing roles_for_paths with the newly provided roles_for_paths excluding roles_for_paths those are marked for deletion. |
PUT /policy/api/v1/aaa/role-bindings/{binding-id}
PUT /api/v1/aaa/role-bindings/{binding-id} |
Get information about all roles |
GET /policy/api/v1/aaa/roles
GET /api/v1/aaa/roles |
Validate a new feature permission setValidate the permissions of an incoming role. Also, recommend the permissions which need to be corrected. |
POST /policy/api/v1/aaa/roles?action=validate
POST /api/v1/aaa/roles?action=validate |
Get information about all roles with features and their permissions |
GET /policy/api/v1/aaa/roles-with-feature-permissions
GET /api/v1/aaa/roles-with-feature-permissions |
Delete custom roleIf a role is assigned to a role binding then the deletion of the role is not allowed. Precanned roles cannot be deleted. |
DELETE /policy/api/v1/aaa/roles/{role}
DELETE /api/v1/aaa/roles/{role} |
Get role information |
GET /policy/api/v1/aaa/roles/{role}
GET /api/v1/aaa/roles/{role} |
Clone an already present roleThe role with id <role> is cloned and the new id, name and description are the ones provided in the request body. |
POST /policy/api/v1/aaa/roles/{role}?action=clone
POST /api/v1/aaa/roles/{role}?action=clone |
Update custom roleCreates a new role with id as <role> if there does not exist any role with id <role>, else updates the existing role. Permissions for features marked is_internal as true will be ignored if provided in request payload. These features' permission are set internally. |
PUT /policy/api/v1/aaa/roles/{role}
PUT /api/v1/aaa/roles/{role} |
Set role assignment permission configurationProvides a means to allow or disallow project administrators and VPC administrators to assign roles to other users on projects and VPCs. |
PUT /policy/api/v1/aaa/roles/{role}/role-assignment-permission-config
PUT /api/v1/aaa/roles/{role}/role-assignment-permission-config |
Get the name and role information of the user.This API will return the name and role information of the user invoking this API request. This API is available for all NSX users no matter their authentication method (Local account, VIDM, LDAP etc). The permissions parameter of the NsxRole has been deprecated. The request parameter root_path has been introduced for multi-tenancy to get user's role at any path that the user desires. The response will contain the roles_for_paths to indicate roles at various paths. |
GET /policy/api/v1/aaa/user-info
GET /api/v1/aaa/user-info |
Get all the User Groups where vIDM display name matches the search key case insensitively. The search key is checked to be a substring of display name. This is a non paginated API. This API will return as many results that vIDM returns to NSX during the search query. vIDM may not send all results at once so to zero in on the group of interest more characters need to be entered. |
GET /policy/api/v1/aaa/vidm/groups
GET /api/v1/aaa/vidm/groups |
Get all the users and groups from vIDM matching the search key case insensitively. The search key is checked to be a substring of name or given name or family name of user and display name of group. This is a non paginated API. This API will return as many results that vIDM returns to NSX during the search query. vIDM may not send all results at once so to zero in on the user/group of interest more characters need to be entered. |
POST /policy/api/v1/aaa/vidm/search
POST /api/v1/aaa/vidm/search |
Get all the users from vIDM whose userName, givenName or familyName matches the search key case insensitively. The search key is checked to be a substring of name or given name or family name. This is a non paginated API. This API will return as many results that vIDM returns to NSX during the search query. vIDM may not send all results at once so to zero in on the user of interest more characters need to be entered. |
GET /policy/api/v1/aaa/vidm/users
GET /api/v1/aaa/vidm/users |
Read AAA provider vIDM properties |
GET /api/v1/cluster/{cluster-node-id}/node/aaa/providers/vidm
GET /api/v1/node/aaa/providers/vidm |
Update AAA provider vIDM properties |
PUT /api/v1/cluster/{cluster-node-id}/node/aaa/providers/vidm
PUT /api/v1/node/aaa/providers/vidm |
Read AAA provider vIDM status |
GET /api/v1/cluster/{cluster-node-id}/node/aaa/providers/vidm/status
GET /api/v1/node/aaa/providers/vidm/status |
Get all users and groups with their rolesGet all users and groups with their roles from CSP. If the root_path is provided then only return role bindings that start-with or are sub-trees of the provided root path. Also filter the roles_for_paths such that only those roles_for_paths appear that start-with or are sub-tree of the provided root path. |
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/aaa/role-bindings
|
Assign roles to User or GroupThis API is used to assign a user/group any role(s) of choice on CSP. It is recommended to use the new property roles_for_paths instead of roles. When using the roles_for_paths, set the read_roles_for_paths as true. User has union of all the roles assigned to it on a particular path and its sub-tree. User name is dealt case-insensitively. |
PATCH /policy/api/v1/orgs/{org-id}/projects/{project-id}/aaa/role-bindings
|
Delete user/group's roles assignmentDelete the user/group's role assignment on CSP. If the path is provided then deletes only the roles_for_paths that matches the path. If path is provided for the last roles_for_paths then the whole role binding is deleted provided it is not that of a local user. |
DELETE /policy/api/v1/orgs/{org-id}/projects/{project-id}/aaa/role-bindings/{binding-id}
|
Get user/group's role information from CSP |
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/aaa/role-bindings/{binding-id}
|
Get information about all roles |
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/aaa/roles
|
Get the name and role information of the user.This API will return the name and role information of the user invoking this API request on the particular project. The permissions parameter of the NsxRole has been deprecated. The response will contain the roles_for_paths to indicate roles of the user at various paths . |
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/aaa/user-info
|
Get all users and groups with their rolesGet all users and groups with their roles from CSP. If the root_path is provided then only return role bindings that start-with or are sub-trees of the provided root path. Also filter the roles_for_paths such that only those roles_for_paths appear that start-with or are sub-tree of the provided root path. |
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/vpcs/{vpc-id}/aaa/role-bindings
|
Assign roles to User or GroupThis API is used to assign a user/group any role(s) of choice on CSP. It is recommended to use the new property roles_for_paths instead of roles. When using the roles_for_paths, set the read_roles_for_paths as true. User has union of all the roles assigned to it on a particular path and its sub-tree. User name is dealt case-insensitively. |
PATCH /policy/api/v1/orgs/{org-id}/projects/{project-id}/vpcs/{vpc-id}/aaa/role-bindings
|
Delete user/group's roles assignmentDelete the user/group's role assignment on CSP. If the path is provided then deletes only the roles_for_paths that matches the path. If path is provided for the last roles_for_paths then the whole role binding is deleted provided it is not that of a local user. |
DELETE /policy/api/v1/orgs/{org-id}/projects/{project-id}/vpcs/{vpc-id}/aaa/role-bindings/{binding-id}
|
Get user/group's role information from CSP |
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/vpcs/{vpc-id}/aaa/role-bindings/{binding-id}
|
Get information about all roles |
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/vpcs/{vpc-id}/aaa/roles
|
Get the name and role information of the user.This API will return the name and role information of the user invoking this API request on the particular project. The permissions parameter of the NsxRole has been deprecated. The response will contain the roles_for_paths to indicate roles of the user at various paths . |
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/vpcs/{vpc-id}/aaa/user-info
|
Create sensor registration access tokenThe privileges of the registration token will be user with sensor role. |
POST /api/v1/security/sensor-registration-token
|
Return the list of OpenID Connect end-points. |
GET /api/v1/trust-management/oidc-uris
|
Update a OpenID Connect end-point's thumbprintUpdate a OpenID Connect end-point's thumbprint used to connect to the oidc_uri through SSL |
POST /api/v1/trust-management/oidc-uris?action=update_thumbprint
|
Add an OpenID Connect end-point.This request also fetches the issuer and jwks_uri meta-data from the OIDC end-point and stores it. |
POST /api/v1/trust-management/oidc-uris
|
Get an OpenID Connect end-point.When ?refresh=true is added to the request, the meta-data is newly fetched from the OIDC end-point. |
GET /api/v1/trust-management/oidc-uris/{id}
|
Refresh an OpenID Connect end-pointRefresh an OpenID Connect end-point by re-reading data from the OIDC URI. |
POST /api/v1/trust-management/oidc-uris/{id}?action=refresh
|
Update an OpenID Connect end-point.Update the properties of an OpenID Connect end-point. The oidc_uri property may not be changed. If you need to update the oidc_uri, you should delete the OIDC end-point and create a new one with the correct oidc_uri. This request also re-fetches the issuer, jwks_uri, and other meta-data from the OIDC end-point and stores it. |
PUT /api/v1/trust-management/oidc-uris/{id}
|
Check the health of an OpenID Connect end-pointConnect to the OpenID Connect end-point and verify that it appears to be functioning properly. |
GET /api/v1/trust-management/oidc-uris/{id}/health
|
Search a SCIM endpointSearch the System for Cross-domain Identity Management (SCIM) source for users and groups whose names match the search string. |
POST /api/v1/trust-management/oidc-uris/{id}/search
|
Verify that a given user or group exists on the SCIM endpointSearch the System for Cross-domain Identity Management (SCIM) source to find a user or group whose name exactly matches the given name. |
GET /api/v1/trust-management/oidc-uris/{id}/user-or-group-exists
|
Configure NSX for OIDC authentication with VC/WS1BConfigures NSX to use VC/WS1B for OIDC authentication. Using the provided JWT token, NSX will create an OAuth app on VC/WS1B, creating a client ID and client secret. NSX will subsequently use that client ID/secret to authenticate user, and will support single sign-on across VMware products. |
POST /api/v1/trust-management/oidc-uris/action/configure-ws1b-oidc-endpoint
|
Unconfigure NSX for OIDC authentication with VC/WS1BRemoves the OAuth app on VC/W1B and deletes the associated OIDC endpoint from NSX. |
POST /api/v1/trust-management/oidc-uris/action/remove-ws1b-oidc-endpoint
|
Return the list of principal identitiesReturns the list of principals registered with a certificate. |
GET /api/v1/trust-management/principal-identities
|
Register a name-certificate combination.Associates a principal's name with a certificate that is used to authenticate. The combination name and node_id needs to be unique across token-based and certificate-based principal identities. |
POST /api/v1/trust-management/principal-identities
(Deprecated)
|
Update a principal identity's certificateUpdate a principal identity's certificate |
POST /api/v1/trust-management/principal-identities?action=update_certificate
|
Delete a principal identityDelete a principal identity. It does not delete the certificate. |
DELETE /api/v1/trust-management/principal-identities/{principal-identity-id}
|
Get a principal identityGet a stored principal identity |
GET /api/v1/trust-management/principal-identities/{principal-identity-id}
|
Register a name-certificate combination.Create a principal identity with a new, unused, certificate. The combination name and node_id needs to be unique across token-based and certificate-based principal identities. |
POST /api/v1/trust-management/principal-identities/with-certificate
|
Return the list of token-based principal identities. | These don't have certificate or role information. |
GET /api/v1/trust-management/token-principal-identities
|
Register a token-based principal identity.Register a principal identity that is going to be authenticated through a token. The combination name and node_id needs to be unique across token-based and certificate-based principal identities. |
POST /api/v1/trust-management/token-principal-identities
|
Delete a token-based principal identityDelete a token-based principal identity. |
DELETE /api/v1/trust-management/token-principal-identities/{principal-identity-id}
|
Get a token-based principal identityGet a stored token-based principal identity |
GET /api/v1/trust-management/token-principal-identities/{principal-identity-id}
|
Additional
Links