Download OpenAPI specification:Download
This is the spec that defines the API provided by the application to provide auth across the cluster
Create an access token for EFA
Credentials to fetch a token
| username | string  Name of the user for whom the token has to be generated  | 
| password | string  Password for the above user  | 
{- "username": "admin",
 - "password": "password"
 
}{- "access-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
 - "token-type": "Bearer",
 - "refresh-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
 - "message": "Certificates will expire soon, please renew"
 
}{- "access-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
 - "token-type": "Bearer",
 - "refresh-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
 - "message": "Certificates will expire soon, please renew"
 
}Create an extended system access token for EFA
Credentials to fetch a token
| clientId | string  ID of the registered client  | 
| expiry | integer  Number of seconds until extended token must expire  | 
{- "clientId": "sdjfdjskjd",
 - "expiry": 300
 
}{- "access-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
 - "token-type": "Bearer",
 - "refresh-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
 - "message": "Certificates will expire soon, please renew"
 
}Create an access token for XCO clients
Client Credentials to fetch a token
| username | string  Name of the user for whom the token has to be generated  | 
| password | string  Password for the above user  | 
| clientId | string  ID of the registered client  | 
{- "username": "admin",
 - "password": "password"
 
}{- "access-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
 - "token-type": "Bearer",
 - "message": "Certificates will expire soon, please renew"
 
}Get access token with refresh token
Refresh token
| refresh-token | string  refresh token  | 
| grant-type | string  grant type(refresh_token)  | 
{- "grant-type": "refresh_token",
 - "refresh-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
 
}{- "access-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
 - "token-type": "Bearer",
 - "refresh-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
 - "message": "Certificates will expire soon, please renew"
 
}Create a key for XCO clients
| force required  | boolean  Force key regenerate  | 
Credentials to fetch a token
| clientId | string  ID of the registered client  | 
{- "clientId": "sdjfdjskjd"
 
}{- "apiKey": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
 
}Update Token Expiry Time For A Specific Token
Type of the XCO token
| type | string  Type of the token  | 
| hours | integer  Hours for token expiry  | 
| minutes | integer  Minutes for token expiry  | 
{- "type": "ACCESS",
 - "hours": 0,
 - "minutes": 15
 
}{- "type": "ACCESS",
 - "hours": 0,
 - "minutes": 15
 
}Register a new client to access EFA
Details of the client
| name | string  Name for the client(tenant name for Openstack clients)  | 
| clientType | string  Type of the client(openstack for Openstack clients)  | 
{- "name": "tenantname",
 - "clientType": "openstack"
 
}{- "name": "tenantname",
 - "clientID": "askjf-djffi-dwokd-askls",
 - "clientType": "openstack"
 
}Fetch LDAP details by name
| name required  | string  Name given for the ldap connection  | 
{- "id": 0,
 - "name": "string",
 - "host": "string",
 - "port": "string",
 - "tls": true,
 - "insecure-tls": true,
 - "cacert": "string",
 - "timeout": 0,
 - "bind-user-name": "string",
 - "bind-user-password": "string",
 - "user-search-base": "string",
 - "user-object-class": "string",
 - "user-login-attribute": "string",
 - "user-role-attribute": "string",
 - "user-role-attribute-key": "string",
 - "user-member-attribute": "string",
 - "group-search-base": "string",
 - "group-object-class": "string",
 - "group-attribute": "string",
 - "group-member-user-attribute": "string",
 - "group-member-mapping-attribute": "string"
 
}Update LDAP configuration for authentication
| name required  | string  Name of the registered LDAP Server  | 
Details of the LDAP Server
| name | string  Name for the LDAP connection  | 
| host | string  Specify the hostname or IPv4/IPv6 address  | 
| port | string  Specify the port at which the OpenLDAP server is listening for connections  | 
| tls required  | boolean  Enable to use LDAP over SSL/TLS  | 
| insecure-tls required  | boolean  Enable to use LDAP without cert verification  | 
| cacert | string  CA certificate  | 
| timeout required  | integer  Duration in number of seconds before considering the server unreachable(defaults to 5 sec)  | 
| bind-user-name | string  Distinguished Name (DN) of the user that should be used to bind, search and retrieve LDAP entries  | 
| bind-user-password | string  Password of the bind user  | 
| user-search-base | string  Enter the Distinguished Name of the node in your directory tree from which to start searching for user objects.  | 
| user-object-class | string  Name of the object class used for user objects(defaults to inetOrgPerson)  | 
| user-login-attribute | string  The attribute whose value matches the username part of credentials entered by your users when logging in(defualts to uid)  | 
| user-role-attribute | string  The attribute to read the role of user from  | 
| user-role-attribute-key | string  The attribute to read the role value from role attribute  | 
| user-member-attribute | string  The attribute to read the member of the group the user is part of  | 
| group-search-base | string  Enter the Distinguished Name of the node in your directory tree from which to start searching for group objects.  | 
| group-object-class | string  Name of the object class used for group objects(defaults to groupOfNames)  | 
| group-attribute | string  Attribute to define search filter on group(defaults to cn)  | 
| group-member-user-attribute | string  The name of the user attribute whose format matches the group members(defualts to entrydn)  | 
| group-member-mapping-attribute | string  The name of the group attribute containing the members of a group(defaults to member)  | 
| cli | boolean  Default:  false  Differentiate the client type  | 
{- "name": "string",
 - "host": "string",
 - "port": "string",
 - "tls": true,
 - "insecure-tls": true,
 - "cacert": "string",
 - "timeout": 0,
 - "bind-user-name": "string",
 - "bind-user-password": "string",
 - "user-search-base": "string",
 - "user-object-class": "string",
 - "user-login-attribute": "string",
 - "user-role-attribute": "string",
 - "user-role-attribute-key": "string",
 - "user-member-attribute": "string",
 - "group-search-base": "string",
 - "group-object-class": "string",
 - "group-attribute": "string",
 - "group-member-user-attribute": "string",
 - "group-member-mapping-attribute": "string",
 - "cli": false
 
}{- "id": 0,
 - "name": "string",
 - "host": "string",
 - "port": "string",
 - "tls": true,
 - "insecure-tls": true,
 - "cacert": "string",
 - "timeout": 0,
 - "bind-user-name": "string",
 - "bind-user-password": "string",
 - "user-search-base": "string",
 - "user-object-class": "string",
 - "user-login-attribute": "string",
 - "user-role-attribute": "string",
 - "user-role-attribute-key": "string",
 - "user-member-attribute": "string",
 - "group-search-base": "string",
 - "group-object-class": "string",
 - "group-attribute": "string",
 - "group-member-user-attribute": "string",
 - "group-member-mapping-attribute": "string"
 
}Register a new LDAP Server for authentication
Details of the LDAP Server
| name | string  Name for the LDAP connection  | 
| host | string  Specify the hostname or IPv4/IPv6 address  | 
| port | string  Specify the port at which the OpenLDAP server is listening for connections  | 
| tls required  | boolean  Enable to use LDAP over SSL/TLS  | 
| insecure-tls required  | boolean  Enable to use LDAP without cert verification  | 
| cacert | string  CA certificate  | 
| timeout required  | integer  Duration in number of seconds before considering the server unreachable(defaults to 5 sec)  | 
| bind-user-name | string  Distinguished Name (DN) of the user that should be used to bind, search and retrieve LDAP entries  | 
| bind-user-password | string  Password of the bind user  | 
| user-search-base | string  Enter the Distinguished Name of the node in your directory tree from which to start searching for user objects.  | 
| user-object-class | string  Name of the object class used for user objects(defaults to inetOrgPerson)  | 
| user-login-attribute | string  The attribute whose value matches the username part of credentials entered by your users when logging in(defualts to uid)  | 
| user-role-attribute | string  The attribute to read the role of user from  | 
| user-role-attribute-key | string  The attribute to read the role value from role attribute  | 
| user-member-attribute | string  The attribute to read the member of the group the user is part of  | 
| group-search-base | string  Enter the Distinguished Name of the node in your directory tree from which to start searching for group objects.  | 
| group-object-class | string  Name of the object class used for group objects(defaults to groupOfNames)  | 
| group-attribute | string  Attribute to define search filter on group(defaults to cn)  | 
| group-member-user-attribute | string  The name of the user attribute whose format matches the group members(defualts to entrydn)  | 
| group-member-mapping-attribute | string  The name of the group attribute containing the members of a group(defaults to member)  | 
| cli | boolean  Default:  false  Differentiate the client type  | 
{- "name": "string",
 - "host": "string",
 - "port": "string",
 - "tls": true,
 - "insecure-tls": true,
 - "cacert": "string",
 - "timeout": 0,
 - "bind-user-name": "string",
 - "bind-user-password": "string",
 - "user-search-base": "string",
 - "user-object-class": "string",
 - "user-login-attribute": "string",
 - "user-role-attribute": "string",
 - "user-role-attribute-key": "string",
 - "user-member-attribute": "string",
 - "group-search-base": "string",
 - "group-object-class": "string",
 - "group-attribute": "string",
 - "group-member-user-attribute": "string",
 - "group-member-mapping-attribute": "string",
 - "cli": false
 
}{- "id": 0,
 - "name": "string",
 - "host": "string",
 - "port": "string",
 - "tls": true,
 - "insecure-tls": true,
 - "cacert": "string",
 - "timeout": 0,
 - "bind-user-name": "string",
 - "bind-user-password": "string",
 - "user-search-base": "string",
 - "user-object-class": "string",
 - "user-login-attribute": "string",
 - "user-role-attribute": "string",
 - "user-role-attribute-key": "string",
 - "user-member-attribute": "string",
 - "group-search-base": "string",
 - "group-object-class": "string",
 - "group-attribute": "string",
 - "group-member-user-attribute": "string",
 - "group-member-mapping-attribute": "string"
 
}Reset LDAP configuration
| name required  | string  Name of the registered LDAP Server  | 
Reset LDAP Configs.
[- "Host",
 - "Port",
 - "CaCert",
 - "BindUsername",
 - "BindUserPassword",
 - "UserSearchBase",
 - "UserObjectClass",
 - "UserLoginAttribute",
 - "UserRoleAttribute",
 - "UserRoleAttributeKey",
 - "UserMemberAttribute",
 - "GroupSearchBase",
 - "GroupObjectClass",
 - "GroupAttribute",
 - "GroupMemberUserAttribute",
 - "GroupMemberMappingAttribute"
 
]{- "id": 0,
 - "name": "string",
 - "host": "string",
 - "port": "string",
 - "tls": true,
 - "insecure-tls": true,
 - "cacert": "string",
 - "timeout": 0,
 - "bind-user-name": "string",
 - "bind-user-password": "string",
 - "user-search-base": "string",
 - "user-object-class": "string",
 - "user-login-attribute": "string",
 - "user-role-attribute": "string",
 - "user-role-attribute-key": "string",
 - "user-member-attribute": "string",
 - "group-search-base": "string",
 - "group-object-class": "string",
 - "group-attribute": "string",
 - "group-member-user-attribute": "string",
 - "group-member-mapping-attribute": "string"
 
}Get All LDAP details configured in the application
[- {
- "id": 0,
 - "name": "string",
 - "host": "string",
 - "port": "string",
 - "tls": true,
 - "insecure-tls": true,
 - "cacert": "string",
 - "timeout": 0,
 - "bind-user-name": "string",
 - "bind-user-password": "string",
 - "user-search-base": "string",
 - "user-object-class": "string",
 - "user-login-attribute": "string",
 - "user-role-attribute": "string",
 - "user-role-attribute-key": "string",
 - "user-member-attribute": "string",
 - "group-search-base": "string",
 - "group-object-class": "string",
 - "group-attribute": "string",
 - "group-member-user-attribute": "string",
 - "group-member-mapping-attribute": "string"
 
} 
]Register a new TACACS server
TACACS server
| host | string  Specify the hostname or IPv4/IPv6 address  | 
| port | integer  Port number  | 
| protocol | string  Enum: "CHAP" "PAP"   Protocol like PAP or CHAP  | 
| secretKey | string  <= 40 characters   Secret key maximum 40 characters  | 
{- "host": "10.37.138.217",
 - "port": 49,
 - "protocol": "CHAP",
 - "secretKey": "sharedsecret"
 
}{- "code": 0,
 - "message": "message"
 
}Update Tacacs server details
Details of the TACACS server
| host | string  Specify the hostname or IPv4/IPv6 address  | 
| port | integer  Port number  | 
| protocol | string  Enum: "CHAP" "PAP"   Protocol like PAP or CHAP  | 
| secretKey | string  <= 40 characters   Secret key maximum 40 characters  | 
{- "host": "10.37.138.217",
 - "port": 49,
 - "protocol": "CHAP",
 - "secretKey": "sharedsecret"
 
}{- "host": "10.37.138.217",
 - "port": 49,
 - "protocol": "CHAP",
 - "secretKey": "sharedsecret"
 
}Fetch TACACS server details of a specific host or all hosts
| host | string  The host of the TACACS server registered or all to get all servers  | 
[- {
- "host": "10.37.138.217",
 - "port": 49,
 - "protocol": "CHAP",
 - "secretKey": "sharedsecret"
 
} 
]Get Authentication summary details configured in the application
[- {
- "active_users": 0,
 - "roles": [
- {
- "type": "string",
 - "count": 0
 
} 
], - "servers": [
- {
- "type": "string",
 - "count": 0
 
} 
] 
} 
]Add the authentication preference
Add the authentication preference
| authType | string  Default:  "HOST"  Enum: "TACACS" "LDAP" "LOCAL" "HOST"   TACAC, LDAP, LOCAL, or HOST  | 
| identifier | string  auth identifier  | 
| preference | integer  auth preference  | 
{- "authType": "TACACS",
 - "identifier": "10.37.23.4",
 - "preference": 1
 
}{- "code": 0,
 - "message": "message"
 
}Update the authentication preference
Update the authentication preference
| authType | string  Default:  "HOST"  Enum: "TACACS" "LDAP" "LOCAL" "HOST"   TACAC, LDAP, LOCAL, or HOST  | 
| identifier | string  auth identifier  | 
| preference | integer  auth preference  | 
{- "authType": "TACACS",
 - "identifier": "10.37.23.4",
 - "preference": 1
 
}{- "code": 0,
 - "message": "message"
 
}Delete the authentication preference
Delete the authentication preference
| authType | string  Default:  "HOST"  Enum: "TACACS" "LDAP" "LOCAL" "HOST"   TACAC, LDAP, LOCAL, or HOST  | 
| identifier | string  auth identifier  | 
| preference | integer  auth preference  | 
{- "authType": "TACACS",
 - "identifier": "10.37.23.4",
 - "preference": 1
 
}{- "code": 0,
 - "message": "message"
 
}Add and update the authentication preferences
Add and update the authentication preferences
| authType | string  Default:  "HOST"  Enum: "TACACS" "LDAP" "LOCAL" "HOST"   TACAC, LDAP, LOCAL, or HOST  | 
| identifier | string  auth identifier  | 
| preference | integer  auth preference  | 
[- {
- "authType": "TACACS",
 - "identifier": "10.37.23.4",
 - "preference": 1
 
} 
]{- "code": 0,
 - "message": "message"
 
}Get the active users details by authentication type
| auth_type required  | string  Default:  "HOST"  Enum: "TACACS" "LDAP" "LOCAL" "HOST"   Authentication type of the user  | 
{- "pagination_response": {
- "remaining_count": 0,
 - "first_id": 0,
 - "last_id": 0
 
}, - "user": [
- {
- "id": 1,
 - "user_name": "willsmith",
 - "email_id": "abc@test.com",
 - "roles": [
- "SystemAdmin",
 - "NetworkOperator"
 
], - "is_blocked": false,
 - "organization": "Extreme Networks",
 - "location": "New York",
 - "is_active": false
 
} 
] 
}Fetch all users details or specific user detail by name
| user_name | string  Name of the user  | 
{- "pagination_response": {
- "remaining_count": 0,
 - "first_id": 0,
 - "last_id": 0
 
}, - "user": [
- {
- "id": 1,
 - "user_name": "willsmith",
 - "email_id": "abc@test.com",
 - "roles": [
- "SystemAdmin",
 - "NetworkOperator"
 
], - "is_blocked": false,
 - "organization": "Extreme Networks",
 - "location": "New York",
 - "is_active": false
 
} 
] 
}Register a new user
Details of the user
| id | integer <int32>   ID of the operation  | 
| user_name | string  user name to be registered  | 
| email_id | string  email id to be registered  | 
| password | string  password  | 
| roles | Array of strings (Full list of roles)   List of roles or specific role details  | 
| is_blocked | boolean  Default:  false  is user blocked  | 
| created_at | string <date-time>   user created time  | 
| organization | string  organization information  | 
| address | string  user address  | 
| mobile_number | string  user mobile number  | 
| location | string  user location  | 
| auth_type | string  authorization type  | 
| is_active | boolean  Default:  false  is user active  | 
| active_since | string <date-time>   user active time  | 
{- "id": 1,
 - "user_name": "willsmith",
 - "email_id": "abc@test.com",
 - "roles": [
- "SystemAdmin",
 - "NetworkOperator"
 
], - "is_blocked": false,
 - "organization": "Extreme Networks",
 - "location": "New York",
 - "is_active": false
 
}{- "id": 1,
 - "user_name": "willsmith",
 - "email_id": "abc@test.com",
 - "roles": [
- "SystemAdmin",
 - "NetworkOperator"
 
], - "is_blocked": false,
 - "organization": "Extreme Networks",
 - "location": "New York",
 - "is_active": false
 
}Update roles of a registered user
Details of the user
| id | integer <int32>   ID of the operation  | 
| user_name | string  user name to be registered  | 
| email_id | string  email id to be registered  | 
| password | string  password  | 
| roles | Array of strings (Full list of roles)   List of roles or specific role details  | 
| is_blocked | boolean  Default:  false  is user blocked  | 
| created_at | string <date-time>   user created time  | 
| organization | string  organization information  | 
| address | string  user address  | 
| mobile_number | string  user mobile number  | 
| location | string  user location  | 
| auth_type | string  authorization type  | 
| is_active | boolean  Default:  false  is user active  | 
| active_since | string <date-time>   user active time  | 
{- "id": 1,
 - "user_name": "willsmith",
 - "email_id": "abc@test.com",
 - "roles": [
- "SystemAdmin",
 - "NetworkOperator"
 
], - "is_blocked": false,
 - "organization": "Extreme Networks",
 - "location": "New York",
 - "is_active": false
 
}{- "id": 1,
 - "user_name": "willsmith",
 - "email_id": "abc@test.com",
 - "roles": [
- "SystemAdmin",
 - "NetworkOperator"
 
], - "is_blocked": false,
 - "organization": "Extreme Networks",
 - "location": "New York",
 - "is_active": false
 
}Update the user state blocked or unblocked
Details of the user
| user_name | string  user name to be updated  | 
| is_blocked | boolean  Default:  false  is user blocked  | 
{- "user_name": "willsmith",
 - "is_blocked": false
 
}{- "user_name": "willsmith",
 - "is_blocked": false
 
}Change password of a registered user
Details of the user
| user_name | string  user name  | 
| old_password | string  old password  | 
| new_password | string  new password  | 
{- "user_name": "willsmith",
 - "old_password": "test",
 - "new-Password": "test1"
 
}{- "user_name": "willsmith",
 - "old_password": "test",
 - "new-Password": "test1"
 
}Reset password of a registered user
Details of the user
| password | string  password  | 
{- "password": "test1"
 
}{- "message": "passowrd  changed successfully"
 
}Reset user password
Details of the user
| user_name | string  user name to be registered  | 
| email_id | string  email id to be registered  | 
| password | string  user password  | 
{- "user_name": "string",
 - "email_id": "string",
 - "password": "string"
 
}{- "id": 1,
 - "user_name": "willsmith",
 - "email_id": "abc@test.com",
 - "roles": [
- "SystemAdmin",
 - "NetworkOperator"
 
], - "is_blocked": false,
 - "organization": "Extreme Networks",
 - "location": "New York",
 - "is_active": false
 
}Get the host users and the active session details
{- "pagination_response": {
- "remaining_count": 0,
 - "first_id": 0,
 - "last_id": 0
 
}, - "user": [
- {
- "id": 1,
 - "name": "testuser",
 - "role": "SystemAdmin",
 - "is_active": false
 
} 
] 
}Get the detailed output of the given execution ID
| id required  | string  Execution ID  | 
{- "start_time": "2000-01-23T04:56:07.000+00:00",
 - "end_time": "2000-01-23T04:56:07.000+00:00",
 - "id": "id",
 - "parameters": "client add",
 - "logs": "logs",
 - "command": "client add",
 - "status": "Failed, Succeeded"
 
}This API will delete the execution entries older than specific number of days
| days_older_by required  | integer  Default:  30  Deletes execution entries older than specified number of days  | 
{- "code": 0,
 - "message": "message"
 
}Get the list of all the previous executions
| limit required  | integer  Default:  10  Limit the number of executions that will be sent in the response. Default is 10  | 
| status | string  Default:  "all"  Filter the executions based on the status(failed/succeeded/all)  | 
{- "items": [
- {
- "start_time": "2000-01-23T04:56:07.000+00:00",
 - "end_time": "2000-01-23T04:56:07.000+00:00",
 - "id": "id",
 - "command": "client add",
 - "status": "client add"
 
}, - {
- "start_time": "2000-01-23T04:56:07.000+00:00",
 - "end_time": "2000-01-23T04:56:07.000+00:00",
 - "id": "id",
 - "command": "client add",
 - "status": "client add"
 
} 
] 
}Get Execution log list with pagination
object (SearchQuery)   {"group_by":"user_name"} Responses grouped by user name {"filter":[{"name":"user_name","value":"admin"}] Responses filtered by name="admin" {"fuzzy":"ConfigAddUpdate"} Responses searched using fuzzy search "ConfigAddUpdate"  | 
{- "items": [
- {
- "start_time": "2000-01-23T04:56:07.000+00:00",
 - "end_time": "2000-01-23T04:56:07.000+00:00",
 - "id": "id",
 - "command": "client add",
 - "status": "client add"
 
}, - {
- "start_time": "2000-01-23T04:56:07.000+00:00",
 - "end_time": "2000-01-23T04:56:07.000+00:00",
 - "id": "id",
 - "command": "client add",
 - "status": "client add"
 
} 
] 
}Fetch role mapping details
| auth_type | string  Auth type(LOCAL, HOST, LDAP, or TACACS)  | 
| auth_identifier | string  Auth identifier  | 
[- {
- "id": 1,
 - "name": "tenantname",
 - "role": "TenantAdmin",
 - "type": "user",
 - "auth_type": "local",
 - "auth_identifier": "user1"
 
} 
]To map user defined roles with XCO role
Mapping the user defined roles and XCO roles
| name | string  Name for the user or group for whom role is to assigned  | 
| role | string  Name of the role to be assigned  | 
| type | string  Type of the assignment (user or group)  | 
| auth_type | string  Authorization framework type (local, host, tacacs, or ldap)  | 
| auth_identifier | string  Identifier for the auth configuration  | 
[- {
- "name": "tenantname",
 - "role": "TenantAdmin",
 - "type": "user",
 - "auth_type": "local",
 - "auth_identifier": "user1"
 
} 
][- {
- "id": 1,
 - "name": "tenantname",
 - "role": "TenantAdmin",
 - "type": "user",
 - "auth_type": "local",
 - "auth_identifier": "user1"
 
} 
]Add new role mapping
Details of the mapping to be created
| name | string  Name for the user or group for whom role is to assigned  | 
| role | string  Name of the role to be assigned  | 
| type | string  Type of the assignment (user or group)  | 
| auth_type | string  Authorization framework type (local, host, tacacs, or ldap)  | 
| auth_identifier | string  Identifier for the auth configuration  | 
{- "name": "tenantname",
 - "role": "TenantAdmin",
 - "type": "user",
 - "auth_type": "local",
 - "auth_identifier": "user1"
 
}{- "id": 1,
 - "name": "tenantname",
 - "role": "TenantAdmin",
 - "type": "user",
 - "auth_type": "local",
 - "auth_identifier": "user1"
 
}