Admin user

An admin user has full access to perform any operation on all organization accounts of which the admin user is a member. Using the API Services BaaS API, you can create, update, or retrieve an admin user. You can also set or reset an admin user’s password, activite or reactivate an admin user, and get an admin user’s activity feed.

In addition, you can add, retrieve, or remove an admin user from an organization. For information on these organization-related operations, see Organization.

Note: Although not shown in the API examples below, you need to provide a valid access token with each API call. See Authenticating users and application clients for details.

Creating an admin user

Use the POST method to create an admin user.

Request URI

POST /management/organizations/{org}/users {request body}

In the request body send a JSON object that represents the new user, for example:

{
  "username" : "jim.admin",
  "email" : "jim.admin@gmail.com",
  "name" : "Jim Admin",
  "password" : "test12345"
}

Example - Request

curl -X -i POST "https://api.usergrid.com/management/organizations/my-org/users" -d '{"username":"jim.admin","name":"Jim Admin","email":"jim.admin@gmail.com","password":"test12345"}'

Example - Response

{
  "action": "post",
  "status": "ok",
  "data":  {
    "user":  {
      "applicationId": "00000000-0000-0000-0000-000000000001",
      "username": "jim.admin",
      "name": "Jim Admin",
      "email": "jim.admin@gmail.com",
      "activated": true,
      "disabled": false,
      "uuid": "335b527f-cd0d-11e1-bef8-12331d1c5591",
      "adminUser": true,
      "displayEmailAddress": "jim.admin <jim.admin@gmail.com>",
      "htmldisplayEmailAddress": "jim.admin <a href="mailto:jim.admin@gmail.com">jinm.admin@gmail.com</a>"
    }
  },
  "timestamp": 1349390189106,
  "duration": 11808
}

Updating an admin user

Use the PUT method to update an admin user.

Request URI

PUT /management/organizations/{org}/users/{user|username|email|uuid} {request body}

Parameters

Parameter Description
User identifier Username, name, email address, or UUID.
request body JSON object containing propties you would like to add/update on user.

For example, to add city and state to user, send this:

{
  "city" : "San Francisco",
  "state" : "California"
}

Example - Request

curl -X -i PUT "https://api.usergrid.com/management/organizations/my-org/users/jim.admin" -d '{"city":"San Francisco","state":"California"}'

Example - Response

{
  "action": "update user info",
  "timestamp": 1349479321874,
  "duration": 0
}

Getting an admin user

Use the GET method to retrieve details about an admin user.

Request URI

GET /management/organizations/{org}/users/{user|username|email|uuid}

Parameters

Parameter Description
User identifier Admin username, name, email address, or UUID.

Example - Request

curl -X GET "https://api.usergrid.com/management/organizations/my-org/users/jim.admin"

Example - Response

{
  "action": "get admin user",
  "status": "ok",
  "data":  {
    "username": "jim.admin",
    "token": "YWMt4NqE8Q9GEeLYJhIxPSiO4AAAATo5fQfcG0cEd2h9nwmDmRorkNNrEeQyDOF",
    "email": "edort1@gmail.com",
    "organizations":  {
      "jim.admin":  {
        "users":  {
          "jim.admin":  {
            "applicationId": "00000000-0000-0000-0000-000000000001",
            "username": "jim.admin",
            "name": "Jim Admin",
            "email": "jim.admin@gmail.com",
            "activated": true,
            "disabled": false,
            "uuid": "328b526e-cd0c-11e1-bcf8-12424d1c4491",
            "adminUser": true,
            "displayEmailAddress": "jim.admin <jim.admin@gmail.com>",
            "htmldisplayEmailAddress": "jim.admin <<a href="mailto:jim.admin@gmail.com">jim.admin@gmail.com>"
    },
    ...
    "adminUser": true,
    "activated": true,
    "name": "edort1",
    "applicationId": "00000000-0000-0000-0000-000000000001",
    "uuid": "328b526e-cd0c-11e1-bcf8-12424d1c4491",
    "htmldisplayEmailAddress": "jim.admin <<a href="mailto:jim.admin@gmail.com">jim.admin@gmail.com>>",
    "displayEmailAddress": "jim.admin <jim.admin@gmail.com>",
    "disabled": false
  },
  "timestamp": 1349480786906
}

Setting an admin user’s password

Use the PUT method to update an admin user’s password.

Request URI

PUT /management/users/{user|username|email|uuid}/password {request body}

Parameters

Parameter Description
User identifier Admin username, name, email address, or UUID.

Expects new and old password to be sent in request body:

{
  "password": <old_password>
  "newpassword":<new_password>
}

Example - Request

curl -X -i PUT "https://api.usergrid.com/management/users/jim.admin/password" -d '{"oldpassword":"test123", "newpassword":"mynewpassword"}'

Example - Response

{
  "action": "set user password",
  "timestamp": 1349714010142,
  "duration": 0
}

Resetting an admin user’s password

Resetting an admin user’s password is a two step process. In the first step, you initiate the password reset. This returns a browser page. The page includes a field for the user to enter his or her email address, and a field to enter a response to a Captcha challenge. In the second step, you handle the user’s responses from the form.

Initiating a password reset

Use the GET method to initiate the password reset.

Request URI

GET /management/organizations/{org}/users/resetpw

Example - Request

curl -X GET "https://api.usergrid.com/management/organizations/my-org/users/resetpw"

Example - Response

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Reset Password</title>
    <link rel="stylesheet" type="text/css" href="../../css/styles.css" />
    <script type="text/javascript">>
        var RecaptchaOptions = {
            theme : 'clean'
        };
    </script>
</head>
<body>

    <div class="dialog-area">
        <div class="dialog-form-message">Incorrect Captcha, try again...</div>
        <form class="dialog-form" action="" method="post">
            <fieldset>
                <p>
                    <label for="email">Please type your <strong>email
                            address</strong> or <strong>username</strong> below.</label>
                </p>
                <p>
                    <input class="text_field" id="email" name="email" type="text" />
                </p>
                <p id="human-proof"></p>
                <script type="text/javascript" src="https://www.google.com/recaptcha/api/challenge?k=6LdSTNESAAAAAKHdVglHmMu86_EoYxsJjqQD1IpZ"></script>

                <p class="buttons">
                    <button type="submit">Submit</button>
                </p>
            </fieldset>
        </form>
    </div>
</pre>

Completing a password reset

Use the POST method to complete the password reset.

Request URI

POST /management/organizations/{org}/users/resetpw {request body}

In the request body send parameters and value for the Captcha challenge, the admin user’s response to the Captcha challenge, and the admin user’s email address, for example:

{
  "recaptcha_response_field" : "Atistophanes tseFia",
  "recaptcha_challenge_field" : "Atistophanes tseFia",
  "email" : "jim.admin@gmail.com"
}

Example - Request

curl -X -i POST "https://api.usergrid.com/management/organizations/my-org/users/resetpw" -d '{"recaptcha_response_field":"Atistophanes tseFia","recaptcha_challenge_field":"Atistophanes tseFia","email":"jim.admin@gmail.com"}'

Example - Response

{
  "action": "reset user password",
  "timestamp": 13546154010321,
  "duration": 0
}

Activating an admin user

Use the GET method to activate an admin user from a link provided in an email notification.

Request URI

GET /management/organizations/{org}/users/{user|username|email|uuid}/activate?token={token}&confirm={confirm_email}

Parameters

Parameter Description
User identifier Admin username, name, email address, or UUID.
string token Activation token (supplied via email).
confirm_email Send confirmation email (false is the default).

Example - Request

curl -X GET "https://api.usergrid.com/management/organizations/my-org/users/jim.admin/activate?token=33dd0563-cd0c-11e1-bcf7-12313d1c4491"

Example - Response

{
  "action": "activate user",
  "timestamp": 1349718021324,
  "duration": 0
}

Reactivating an admin user

Use the GET method to reactivate an admin user.

Request URI

GET /management/organizations/{org}/users/{user|username|email|uuid}/reactivate

Parameters

Parameter Description
User identifier Admin username, name, email address, or UUID.

Example - Request

curl -X GET "https://api.usergrid.com/management/organizations/my-org/users/jim.admin/reactivate"

Example - Response

{
  "action": "reactivate user",
  "timestamp": 1349735217217,
  "duration": 3541
}

Getting an admin user’s activity feed

Use the GET method to retrieve an admin user’s activity feed.

Request URI

GET /management/organizations/{org}/users/{user|username|email|uuid}/feed

Parameters

Parameter Description
User identifier Admin username, name, email address, or UUID.

Example - Request

curl -X GET "https://api.usergrid.com/management/organizations/my-org/users/jim.admin/feed"

Example - Response

{
  "action": "get admin user feed",
  "status": "ok",
 "entities":  [
     {
      "uuid": "cf3e981c-fe80-11e1-95c8-12331b144c65",
      "type": "activity",
      "created": 1347643370454,
      "modified": 1347643370454,
      "actor":  {
        "displayName": "jim.admin",
        "objectType": "person",
        "uuid": "335b527f-cd0d-11e1-bef8-12331d1c5591",
        "entityType": "user"
      },
      "category": "admin",
      "metadata":  {
        "cursor": "gGkAAQMAgGkABgE5xc3r1gCAdQAQz02YHP6QEeGVyBIxOxIsVgCAdQAQz4ZbYf6QEeGVyBIxOxIsVgA",
        "path": "/users/327b527f-cd0c-11e1-bcf7-12313d1c4491/feed/cf4d981c-fe90-11e1-95c8-12313b122c56"
      },
    "object":  {
    ...
    },
    "published": 1342198809251,
            "title": "<a mailto="jim.admingmail.com">jim.admin (jim.admin@gmail.com)</a> created a new organization account named jim.admin",
            "verb": "create"
          }
        ],
  "timestamp": 1349735719320,
}