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:
Status Codes:

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:
Status Codes:

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:
Status Codes:

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:
Status Codes:

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:

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.