Show contents 

Development > Server API > Method for Working with Administrator Accounts

Method for Working with Administrator Accounts

To work with administrator accounts, execute requests using the "accounts" API method (determine administrator token before executing the request):

curl -X POST -v '<IP address or DNS server name>/api/v2/accounts/staff/local/' --header 'Content-Type: application/json' -H 'Authorization: Bearer <administrator token>' -d '{
    "username": "<local administrator login>",
    "password": "<local administrator password>",
    "confirmed_password": "<confirm local administrator password>",
    "is_active": <indicates whether local administrator is active (true/false)>,
    "full_name": "<Full name>",
    "email": "<e-mail>",
    "time_zone": "<time zone>"
}'

In the <time zone> substitution use one of the values contained in the Time Zone drop-down list.

The example of response:

{
    "id": 2,
    "username": "new_admin",
    "is_active": true,
    "full_name": "FIO",
    "email": "user@example.com",
    "time_zone": "(UTC+03:00) Europe/Chisinau"
}

curl -v '<IP address or DNS server name>/api/v2/accounts/staff/local/<identifier of requested administrator>/' --header 'Content-Type: application/json' -H 'Authorization: Bearer <administrator token>'

In the <requested administrator identifier> substitution use value of the id parameter returned on getting the list of all administrator accounts.

The example of response:

{
    "id": 3,
    "username": "admin",
    "is_active": true,
    "full_name": "admin admin admin",
    "email": "admin@example.com",
    "time_zone": "Europe/Moscow"
}

curl -X PUT -v '<IP address or DNS server name>/api/v2/accounts/staff/local/<requested administrator identifier>/' --header 'Content-Type: application/json' -H 'Authorization: Bearer <administrator token>' -d '{
    "username": "<local administrator login>",
    "is_active": <indicates whether local administrator is active (true/false)>,
    "full_name": "<Full name>",
    "email": "<e-mail>",
    "time_zone": "<time zone>"
}'

In the <requested administrator identifier> substitution use value of the id parameter returned on getting all administrator accounts, and in the <time zone> substitution use one of the values contained in the Time Zone drop-down list.

The example of response:

{
    "id": 3,
    "username": "admin_3",
    "is_active": false,
    "full_name": "admin admin admin",
    "email": "admin@example.com",
    "time_zone": "Europe/Moscow"
}

curl -X POST -v '<IP address or DNS server name>/api/v2/accounts/staff/local/<identifier of requested administrator>/reset-password/' --header 'Content-Type: application/json' -H 'Authorization: Bearer <administrator token>' -d '{ "password": "<new password>", "confirmed_password": "<confirm new password>"}'

In the <requested administrator identifier> substitution use value of the id parameter returned on getting the list of all administrator accounts.

The example of response:

200

curl -X POST -v '<IP address or DNS server name>/api/v2/accounts/staff/ldap/' --header 'Content-Type: application/json' -H 'Authorization: Bearer <administrator token>' -d '{"time_zone": <time zone>, "ldap_sid": <SID identifier of administrator from LDAP>}'

In the <time zone> substitution use one of the values contained in the Time Zone drop-down list.

The example of response:

{
    "id": 4,
    "is_active": true,
    "full_name": "testusers_3249",
    "email": "",
    "time_zone": "Europe/Moscow"
}

curl -v '<IP address or DNS server name>/api/v2/accounts/staff/local/<requested administrator>/' --header 'Content-Type: application/json' -H 'Authorization: Bearer <administrator token>'

In the <requested administrator identifier> substitution use value of the id parameter returned on getting the list of all administrator accounts.

The example of response:

{
    "id": 5,
    "is_active": true,
    "full_name": "testusers_3251",
    "email": "",
    "time_zone": "Europe/Moscow"
}

curl -X PUT -v '<IP address or DNS server name>/api/v2/accounts/staff/ldap/<identifier of requested administrator>/' --header 'Content-Type: application/json' -H 'Authorization: Bearer <administrator token>' -d '{"time_zone": <time zone>, "ldap_sid" :<SID identifier of administrator from LDAP>}'

In the <requested administrator identifier> substitution use value of the id parameter returned on getting all administrator accounts, and in the <time zone> substitution use one of the values contained in the Time Zone drop-down list.

The example of response:

{
    "id": 5,
    "is_active": true,
    "full_name": "testusers_3251",
    "email": "",
    "time_zone": "Europe/Chisinau"
}

curl -v '<IP address or DNS server name>/api/v2/accounts/staff/' --header 'Content-Type: application/json' -H 'Authorization: Bearer <administrator token>'

The example of response:

{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 5,
            "username": "admin",
            "full_name": "",
            "is_active": true,
            "is_ldap": false,
            "is_superuser": false,
            "is_request_user": false,
            "time_zone": "Europe/Moscow"
        },
        {
            "id": 1,
            "username": "superuser",
            "full_name": "",
            "is_active": true,
            "is_ldap": false,
            "is_superuser": true,
            "is_request_user": true,
            "time_zone": "Europe/Moscow"
        }
    ]
}

curl -X DELETE -v '<IP address or DNS server name>/api/v2/accounts/staff/<requested administrator identifier>/' --header 'Content-Type: application/json' -H 'Authorization: Bearer <administrator token>'

In the <requested administrator identifier> substitution use value of the id parameter returned on getting the list of all administrator accounts.

The example of response:

204 No Content

See also:

Server API