Tenant Admin Profile Management¶
Retrieve tenant admin list with details¶
-
GET
/api/v1/tenants/
(string: tenant_id)/admins/
¶ Retrieve the tenant admin details.
Example request:
GET /api/v1/tenants/foo/admins/ HTTP/1.1 Host: example.com
Example response:
HTTP/1.1 200 OK Content-Type: "application/json" { "admins": [ { "userId": "fooadmin", "firstName": "Foo", "lastName": "Admin", "language": "English" } ] }
- Response JSON Object:
admins (array) – A list of admins. See Tenant Admin List Item Details.
- Status Codes:
200 OK – no error
Create a tenant admin¶
-
POST
/api/v1/tenants/
(string: tenant_id)/admins/
¶ Add a new tenant admin.
Example request:
POST /api/v1/tenants/foo/admins/ HTTP/1.1 Host: example.com Content-Type: "application/json" { "userId": "fooadmin_new" "firstName": "NewFoo" "lastName": "Admin" "language": "English" "password": "example_passwd", "emailAddress": "fooadmin@foodomain.ext" }
Example response:
HTTP/1.1 200 OK Content-Type: "application/json"
- Request JSON Object:
admin (object) – an admin object defined as Tenant Admin Details.
- Status Codes:
200 OK – no error
Retrieve tenant admin details¶
-
GET
/api/v1/tenants/
(string: tenant_id)/admins/
(string: user_id)/
¶ Retrieve the tenant admin details.
Example request:
GET /api/v1/tenants/foo/admins/fooadmin/ HTTP/1.1 Host: example.com
Example response:
HTTP/1.1 200 OK Content-Type: "application/json" { "userId": "fooadmin", "firstName": "Foo", "lastName": "Admin", "language": "English", "emailAddress": "fooadmin@foodomain.ext" }
- Response JSON Object:
admin (object) – an admin object defined as Tenant Admin Details.
- Status Codes:
200 OK – no error
Update tenant admin details¶
-
PUT
/api/v1/tenants/
(string: tenant_id)/admins/
(string: user_id)/
¶ Update the tenant admin details.
Example request:
PUT /api/v1/tenants/foo/admins/fooadmin/ HTTP/1.1 Host: example.com Content-Type: "application/json" { "firstName": "Foo" "lastName": "Admin" "language": "English", "emailAddress": "fooadmin@foodomain.ext" }
Example response:
HTTP/1.1 200 OK Content-Type: "application/json"
- Request JSON Object:
admin (object) – an admin object defined as Tenant Admin Details.
- Status Codes:
200 OK – no error
Remove a tenant admin¶
-
DELETE
/api/v1/tenants/
(string: tenant_id)/admins/
(string: user_id)/
¶ Delete an admin from the tenant.
Example request:
DELETE /api/v1/tenants/foo/admins/fooadmin/ HTTP/1.1 Host: example.com
Example response:
HTTP/1.1 200 OK
- Status Codes:
200 OK – no error
Tenant Admin Details¶
Name |
Type |
Methods |
Description |
||
---|---|---|---|---|---|
GET |
POST |
PUT |
|||
userId |
String |
A |
R |
F |
The unique id of the tenant admin if the network element allows/requires to specify it. |
firstName |
String |
A |
O |
O |
The first name of the tenant admin. |
lastName |
String |
A |
O |
O |
The last name of the tenant admin. |
language |
String |
A |
O |
O |
The preferred language for the tenant admin. Default as defined in settings. |
password |
String |
F |
O |
O |
The password for a new tenant admin. Auto-generated if not provided. |
emailAddress |
String |
A |
O |
O |
The email address for the admin. |
userProfileType |
String |
F |
O |
F |
The User Profile Type to be used for this Admin if not the default one. |
loginMode |
Integer |
F |
O |
F |
To override the loginMode of the User Profile Type used. Usually to force a SSO login (3). |
role |
String |
O |
O |
O |
An optional role for the admin. No logic associated in the APIO itself. |
Note: if the userProfileType is not of the level Tenant, it will be ignored.
Tenant Admin List Item Details¶
Name |
Type |
Methods |
Description |
||
---|---|---|---|---|---|
GET |
POST |
PUT |
|||
userId |
String |
A |
R |
F |
The unique id of the tenant admin if the network element allows/requires to specify it. |
firstName |
String |
A |
O |
O |
The first name of the tenant admin. |
lastName |
String |
A |
O |
O |
The last name of the tenant admin. |
language |
String |
A |
O |
O |
The preferred language for the tenant admin. |
language_code |
String |
O |
F |
F |
The associated language code. See Language and language code. |
Configuration Information for Tenant Admin Profile Management¶
The APIO behaviour for the default language is controlled by the following setting:
"DEFAULT_LANGUAGE": "",
- Settings description:
DEFAULT_LANGUAGE: the default language.
Configuration Information for the Password¶
The APIO behaviour for the validation of the input passwords is controlled by the following setting:
"VALIDATE_PASSWORD_LOCALLY": true
"VALIDATE_PASSWORD_LOCAL_RULE": true
- Settings description:
VALIDATE_PASSWORD_LOCALLY: APIO will check the password provided in the API based on the user level rules from the network element. Note that min rules defined below will also be used. Default is false.
VALIDATE_PASSWORD_LOCAL_RULE: if the previous settings is false and that this settings is true, the APIO will check the password with respect to an hardcoded local rule (min 8 chars, aat least 1 upper and 1 lower cases). This local rule can be overwritten in project mode. Default is false.
When no password is provided in the API data, then one will be generated. The generation will, by default, be based on the rules defined in the AS with the possibility (from 1.11.0) to have minium rules defined.
This is controlled by following parameters:
"NEW_PASSWORD_RESET_GEN": true,
"MINIMUM_PASSWORD_RULES": {
"ADMIN" : {
"PASSWORD_MIN_SPECIAL_CHARACTERS": 1,
"PASSWORD_MIN_UPPERCASE_LETTERS": 1,
"PASSWORD_MIN_LOWERCASE_LETTERS": 1,
"PASSWORD_MIN_DIGITS": 1,
"PASSWORD_MIN_LENGTH": 8
}
},
- Settings description:
NEW_PASSWORD_RESET_GEN: If true the new logic based on rules will be used for the random passwords generation. Else the legacy hardcoded config will be used (and the minimum rules ignored). Default is true. Note that this is a global parameter.
MINIMUM_PASSWORD_RULES.**ADMIN**: (from 1.11.0) minium password rules for Admins (same for Group, Tenant, System). Default are the ones in the example.