Admin Profile Management

Retrieve admin list with details

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/admins/

Retrieve the admin details.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/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",
            "department": {
              "tenantId": "ApioSpTest",
              "groupId": "ApioGrpTest",
              "departmentName": "test_department_initial",
              "fullPathName": "test_department_parent_1 \\ test_department_initial"
            }
            "language": "English",
         }
      ]
   }
}
Response JSON Object:
Status Codes:

Create an admin

POST /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/admins/

Add a new admin.

Example request:

POST /api/v1/tenants/foo/groups/foogroup/admins/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
   "userId": "fooadmin_new@foo.com"
   "firstName": "NewFoo"
   "lastName": "Admin"
   "language": "English"
   "password": "example_passwd",
   "emailAddress": "fooadmin@foodomain.ext"
}
Response JSON Object:
  • admin (object) –

    an admin object defined as Admin Detail Attributes.

    Note

    if there is no domain in the userId, the default domain or the group default domain (new in 1.10.2) will be added, see configuration parameters below

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"
Status Codes:

Retrieve admin details

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/admins/(string: user_id)/

Retrieve the admin details.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/admins/fooadmin/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"

{
   "userId": "fooadmin@foo.com",
   "firstName": "Foo",
   "lastName": "Admin",
   "language": "English",
   "emailAddress": "fooadmin@foodomain.ext"
}
Response JSON Object:
Status Codes:

Update admin details

PUT /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/admins/(string: user_id)/

Update the admin details.

Example request:

PUT /api/v1/tenants/foo/groups/foogroup/admins/fooadmin/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
   "firstName": "Foo"
   "lastName": "Admin"
   "language": "English",
   "emailAddress": "new_fooadmin@foodomain.ext"
}
Response JSON Object:

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"
Status Codes:

Remove an admin

DELETE /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/admins/(string: user_id)/

Delete an admin from the tenant.

Example request:

DELETE /api/v1/tenants/foo/groups/foogroup/admins/fooadmin/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK
Status Codes:

Configuration Information for Group Admin Profile Management

The APIO behaviour for the default language is controlled by the following setting:

"DEFAULT_LANGUAGE": ""
"VALIDATE_PASSWORD_LOCALLY": true
"VALIDATE_PASSWORD_LOCAL_RULE": true
Settings description:
  • DEFAULT_LANGUAGE: the default language.

  • VALIDATE_PASSWORD_LOCALLY: APIO will check the passwords based on the user level rules from the network element for Create an admin and Update admin details. Default is false.

  • VALIDATE_PASSWORD_LOCAL_RULE: if the previous settings is false and that this settings is tru, 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.

The APIO behaviour for the domain used, when none provided, is controlled by the following setting:

"DEFAULT_DOMAIN": "foo.com"
"GROUP_ADMIN_DOMAIN_USE_GROUP_DEFAULT": false
Settings description:
  • DEFAULT_DOMAIN: the default domain for this server. Configured at installation time

  • GROUP_ADMIN_DOMAIN_USE_GROUP_DEFAULT: if true the Group default domain will be used; if false the default domain will be used except if it is not assigned to the Group then it will be the Group default domain. Default is false (backward compatibility).

Note

This domain behavior is new in 1.10.2, before it was always the default domain.

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.