# 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](organization.html). __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](../security_and_auth/authenticating-users-and-application-clients.html) 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 ", "htmldisplayEmailAddress": "jim.admin jinm.admin@gmail.com" } }, "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 ", "htmldisplayEmailAddress": "jim.admin <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 <jim.admin@gmail.com>>", "displayEmailAddress": "jim.admin ", "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": "newpassword": } ### 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 Reset Password
Incorrect Captcha, try again...

## 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": "
jim.admin (jim.admin@gmail.com) created a new organization account named jim.admin", "verb": "create" } ], "timestamp": 1349735719320, }