http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4a92ab09/content/docs/_sources/orgs-and-apps/admin-user.txt ---------------------------------------------------------------------- diff --git a/content/docs/_sources/orgs-and-apps/admin-user.txt b/content/docs/_sources/orgs-and-apps/admin-user.txt new file mode 100644 index 0000000..87b96f9 --- /dev/null +++ b/content/docs/_sources/orgs-and-apps/admin-user.txt @@ -0,0 +1,352 @@ +# 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.ad...@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.ad...@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.ad...@gmail.com", + "activated": true, + "disabled": false, + "uuid": "335b527f-cd0d-11e1-bef8-12331d1c5591", + "adminUser": true, + "displayEmailAddress": "jim.admin <jim.ad...@gmail.com>", + "htmldisplayEmailAddress": "jim.admin <a href="mailto:jim.ad...@gmail.com">jinm.ad...@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": "edo...@gmail.com", + "organizations": { + "jim.admin": { + "users": { + "jim.admin": { + "applicationId": "00000000-0000-0000-0000-000000000001", + "username": "jim.admin", + "name": "Jim Admin", + "email": "jim.ad...@gmail.com", + "activated": true, + "disabled": false, + "uuid": "328b526e-cd0c-11e1-bcf8-12424d1c4491", + "adminUser": true, + "displayEmailAddress": "jim.admin <jim.ad...@gmail.com>", + "htmldisplayEmailAddress": "jim.admin <<a href="mailto:jim.ad...@gmail.com">jim.ad...@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.ad...@gmail.com">jim.ad...@gmail.com>>", + "displayEmailAddress": "jim.admin <jim.ad...@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.ad...@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.ad...@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.ad...@gmail.com)</a> created a new organization account named jim.admin", + "verb": "create" + } + ], + "timestamp": 1349735719320, + }
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4a92ab09/content/docs/_sources/orgs-and-apps/application.txt ---------------------------------------------------------------------- diff --git a/content/docs/_sources/orgs-and-apps/application.txt b/content/docs/_sources/orgs-and-apps/application.txt new file mode 100644 index 0000000..7495aee --- /dev/null +++ b/content/docs/_sources/orgs-and-apps/application.txt @@ -0,0 +1,100 @@ +# Application +You can create a new application in an organization through the Admin portal. The Admin portal creates the new application by issuing a post against the management endpoint (see the "Creating an organization application" section in Organization for details). If you need to create an application programmatically in your app, you can also use the API to do this. You can access application entities using your app name or UUID, prefixed with the organization name or UUID: + + https://api.usergrid.com/{org_name|uuid}/{app_name|uuid} + +Most mobile apps never access the application entity directly. For example you might have a server-side web app that accesses the application entity for configuration purposes. If you want to access your application entity programmatically, you can use the API. + +## Creating an application +To create an application you POST a JSON object containing (at a minimum) the name of the new application. +You will also need to pass authentication credentials. + +### Request URI + + POST /management/organizations|orgs/{org_name}|{org_uuid}/apps {request body} + +Parameters + +Parameter Sent in Description +--------- ------- ----------- +grant_type Query string Only the value 'client_credentials' is supported. +client_id Query string The org-level client id for your org, found in the 'Org Administration' menu of Usergrid portal. +client_secret Query string The org-level client secret for your org, found in the 'Org Administration' menu Usergrid portal. +name Request Body The name of the application. + +### Example - Request + + curl -X -i POST "https://api.usergrid.com/management/orgs/testorg/apps?grant_type=client_credentials&client_id=b3U68vghI6FmEeKn9wLoGtzz0A&client_secret=b3U6ZuZ5_U8Y-bOaViJt0OyRkJFES-A" -d '{"name":"testapp1"}' + +### Example - Response + + { + "action": "new application for organization", + "timestamp": 1338914698135, + "duration": 701 + } + +## Generating application credentials +Use the POST method to generate the client ID and client secret credentials for an application in an organization. + +### Request URI + + POST /organizations|orgs/{org_name}|{uuid}/applications|apps/{app_name}|{uuid}/credentials + +Parameters + +Parameter Description +--------- ----------- +string org_name|arg uuid Organization name or organization UUID. +string app_name|arg uuid Application name or application UUID. + +Note: You also need to provide a valid access token with the API call. See [Authenticating users and application clients](../security_and_auth/authenticating-users-and-application-clients.html) for details. + +### Example - Request + + curl -X POST "https://api.usergrid.com/management/orgs/testorg/apps/testapp1/credentials" + +### Example - Response + + { + "action": "generate application client credentials", + "timestamp": 1349815979529, + "duration": 535, + "credentials": { + "client_id": "YXA7ygil-f3TEeG-yhIxPQK1cQ", + "client_secret": "YXA65gYlqja8aYYSAy8Ox3Vg5aRZp48" + } + } + +## Getting application credentials +Use the GET method to retrieve the client ID and client secret credentials for an application in an organization. + +### Request URI + + GET /organizations|orgs/{org_name}|{uuid}/applications|apps/{app_name}|{uuid}/credentials + +Parameters + +Parameter Description +--------- ----------- +string org_name|arg uuid Organization name or organization UUID. +string app_name|arg uuid Application name or application UUID. + +Note: You also need to provide a valid access token with the API call. See [Authenticating users and application clients](../security_and_auth/authenticating-users-and-application-clients.html) for details. + +### Example - Request + + curl -X GET "https://api.usergrid.com/management/orgs/testorg/apps/testapp1/credentials" + +### Example - Response + + { + "action": "get application client credentials", + "timestamp": 1349816819545, + "duration": 7, + "credentials": { + "client_id": "YXA7ygil-f3TEeG-yhIxPQK1cQ", + "client_secret": "YXA65gYlqja8aYYSAy8Ox3Vg5aRZp48" + } + } + http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4a92ab09/content/docs/_sources/orgs-and-apps/managing.txt ---------------------------------------------------------------------- diff --git a/content/docs/_sources/orgs-and-apps/managing.txt b/content/docs/_sources/orgs-and-apps/managing.txt new file mode 100644 index 0000000..3c09807 --- /dev/null +++ b/content/docs/_sources/orgs-and-apps/managing.txt @@ -0,0 +1,50 @@ +# Organization & application management +Your application can use the App Services API to request a variety of management operations on App Services resources. For example, your application can request an access token to use in operations on entities and collections. Or it can create an organization to contain the applications, entities, and collections for a company, team, or project. + +Your application makes requests through the API using HTTP methods such as GET, POST, PUT, and DELETE, and specifies the pertinent resource URL. For management operations, the URL begins with ``/management/``. See [Using the API](../getting-started/using-the-api.html) for general usage information, such as how to construct an API request. + +The following table lists and describes resources accessible through the App Services API on which your application can perform management operations. Click on a resource for further details about the resource and its methods. + +<table class="usergrid-table"> +<tr> + <th> + Resource + </th> + <th> + Description + </th> +</tr> +<tr> + <td> + [Access Token](../security-and-auth/authenticating-users-and-application-clients.html) + </td> + <td> + Carries the credentials and authorization information needed to access other resources through the Usergrid API. + </td> +</tr> +<tr> + <td> + [Client Authorization](../security-and-auth/authenticating-api-requests.html) + </td> + <td> + Authorizes the client. + </td> +</tr> +<tr> + <td> + [Organization](organization.html) + </td> + <td> + The highest level structure in the Usergrid data hierarchy. + </td> +</tr> +<tr> + <td> + [Admin User](adminuser.html) + </td> + <td> + A user that has full access to perform any operation on all organization accounts of which the user is a member. + </td> +</tr> +</table> + http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4a92ab09/content/docs/_sources/orgs-and-apps/organization.txt ---------------------------------------------------------------------- diff --git a/content/docs/_sources/orgs-and-apps/organization.txt b/content/docs/_sources/orgs-and-apps/organization.txt new file mode 100644 index 0000000..3980ae9 --- /dev/null +++ b/content/docs/_sources/orgs-and-apps/organization.txt @@ -0,0 +1,435 @@ +# Organization + +An organization represents the highest level of the API Services BaaS data hierarchy. It contains applications (and the entities and collections they contain) and is associated with one or more administrators. An organization can be representative of a company, team, or project. It allows multiple applications to be shared within the organization with other administrators. + +## Creating an organization +Use the POST method to create an organization through a form post. + +### Request URI + + POST /organizations|orgs {request body} + +Parameters + +Expected to be sent form data in the body of the request. + +Parameter Description +--------- ----------- +organization (string) The name of the organization. +username (string) The username of the administrator. +name (string) The name of the administrator. +email (string) The email address of the administrator. +password (string) The password of the administrator. + + +### Example - Request + + curl -X -i POST "https://api.usergrid.com/management/orgs" -d '{"password":"test12345","email":"tester...@hotmail.com","name":"test","username":"test123","organization":"testorg"}' + +### Example - Response + + { + "action": "new organization", + "status": "ok", + "data": { + "owner": { + "applicationId": "00000000-0000-0000-0000-000000000001", + "username": "tester123", + "name": "test", + "email": "tester...@hotmail.com", + "activated": false, + "disabled": false, + "uuid": "48c92c73-0d7e-11e2-98b9-12313d288ee0", + "adminUser": true, + "displayEmailAddress": "tester123 <tester...@hotmail.com>", + "htmldisplayEmailAddress": "tester123 <<a href="mailto:tester...@hotmail.com">tester...@hotmail.com</a>>" + }, + "organization": { + "name": "testorg", + "uuid": "5de0bb69-0d7f-11e2-87b9-12313d288ff0" + } + }, + "timestamp": 1349284674173, + "duration": 21376 + } + +## Getting an organization +Use the GET method to retrieve an organization given a specified UUID or username. + +### Request URI + + GET /organizations|orgs/{org_name}|{uuid} + +Parameters + +Parameter Description +--------- ----------- +org_name|arg uuid Organization name or organization UUID. + +Note: You also need to provide a valid access token with the API call. +See [Authenticating users and application clients](../security-and-auth/authenticating-users-and-application-clients.html) for details. + +### Example - Request + + curl -X GET "https://api.usergrid.com/management/orgs/testorg" + +### Example - Response + + { + "timestamp": 1349286861746, + "duration": 18, + "organization": { + "users": { + "tester123": { + "applicationId": "00000000-0000-0000-0000-000000000001", + "username": "tester123", + "name": "test", + "email": "tester...@hotmail.com", + "activated": true, + "disabled": false, + "uuid": "327b527f-cd0c-11e1-bcf7-12313d1c4491", + "adminUser": true, + "displayEmailAddress": "tester123 <tester...@hotmail.com>", + "htmldisplayEmailAddress": "tester123 <<a href="mailto:tester...@hotmail.com">tester...@hotmail.com</a>>" + } + }, + "name": "testorg", + "applications": { + "tester123/sandbox": "3400ba10-cd0c-11e1-bcf7-12313d1c4491", + "tester123/testapp1": "be08a5f9-fdd3-11e1-beca-12313d027471", + "tester123/testapp2": "cede5b7e-fe90-11e1-95c8-12313b122c56" + }, + "uuid": "33dd0563-cd0c-11e1-bcf7-12313d1c4491" + } + +## Activating an organization +Use the GET method to activate an organization from a link provided in an email notification. + +### Request URL + + GET /organizations|orgs/{org_name}|{uuid}/activate?token={token}&confirm={confirm_email} + +Parameters + +Parameter Description +--------- ----------- +org_name|arg uuid Organization name or organization UUID. +token Activation token (supplied via email). +confirm_email (boolean) Send confirmation email (false is the default). + + +### Example - Request + + curl -X GET "https://api.usergrid.com/management/orgs/testorg/activate?token=33dd0563-cd0c-11e1-bcf7-12313d1c4491" + +### Example - Response + + { + "action": "activate organization", + "timestamp": 1337928462810, + "duration": 3342 + } + +## Reactivating an organization +Use the GET method to reactivate an organization. + +### Request URI + + GET /organizations|orgs/{org_name}|{uuid}/reactivate + +Parameters + +Parameter Description +--------- ----------- +string org_name|arg uuid Organization name or organization UUID. + + +### Example - Request + + curl -X GET "https://api.usergrid.com/management/orgs/testorg/reactivate" + +### Example - Response + + { + "action": "reactivate organization", + "timestamp": 1349385280891, + "duration": 3612 + } + +## Generating organization client credentials +Use the POST method to generate new credentials for an organization client. + +### Request URI + + POST /organizations|orgs/{org_name}|{uuid}/credentials + +Parameters + +Parameter Description +--------- ----------- +string org_name|arg uuid Organization name or organization UUID. + +__Note__: You also need to provide a valid access token with the API call. [Authenticating users and application clients](../security_and_auth/authenticating-users-and-application-clients.html) for details. + +### Example - Request + + curl -X POST "https://api.usergrid.com/management/orgs/credentials" + +### Example - Response + + { + "action": "generate organization client credentials", + "timestamp": 1349385795647, + "duration": 7, + "credentials": { + "client_id": "c2V7N61DY90MCdG78xIxPRxFdQ", + "client_secret": "c2V7WEdXIutZWEkWdySLCt_lYDFVMMN" + } + } + +## Retrieving organization client credentials +Use the GET method to retrieve the credentials for an organization client. + +### Request URL + + GET /organizations|orgs/{org_name}|{uuid}/credentials + +Parameters + +Parameter Description +--------- ----------- +string org_name|arg uuid Organization name or organization UUID. + +__Note__: You also need to provide a valid access token with the API call. See [Authenticating users and application clients](../security_and_auth/authenticating-users-and-application-clients.html) for details. + +### Example - Request + + curl -X GET "https://api.usergrid.com/management/orgs/testorg/credentials" + +### Example - Response + + { + "action": "get organization client credentials", + "timestamp": 1349386672984, + "duration": 690, + "credentials": { + "client_id": "c2V7N61DY90MCdG78xIxPRxFdQ", + "client_secret": "c2V7WEdXIutZWEkWdySLCt_lYDFVMMN" + } + } + +## Getting an organization's activity feed +Use the GET method to get an organization's activity feed. + +### Request URI + + GET /organizations|orgs/{org_name}|{uuid}/feed + +Parameters + +Parameter Description +--------- ----------- +string org_name|arg uuid Organization name or organization UUID. + +__Note__: You also need to provide a valid access token with the API call. See [Authenticating users and application clients](../security_and_auth/authenticating-users-and-application-clients.html) for details. + +### Example - Request + + curl -X GET "https://api.usergrid.com/management/orgs/testorg/feed" + +### Example - Response + + { + { + "action": "get organization feed", + "status": "ok", + "entities": [ + { + "uuid": "cf4d981c-fe90-11e1-95c8-12313b122c56", + "type": "activity", + "created": 1347643370454, + "modified": 1347643370454, + "actor": { + "displayName": "tester123", + "objectType": "person", + "uuid": "327b527f-cd0c-11e1-bcf7-12313d1c4491", + "entityType": "user" + }, + "category": "admin", + "metadata": { + "cursor": "gGkAAQMAgGkABgE5xc3r1gCAdQAQz02YHP6QEeGVyBIxOxIsVgCAdQAQz3SoH_6QEeGVyBIxOxIsVgA", + "path": "/groups/33dd0563-cd0c-11e1-bcf7-12313d1c4491/feed/cf4d981c-fe90-11e1-95c8-12313b122c56" + }, + "object": { + "displayName": "testapp2", + "objectType": "Application", + "uuid": "cede5b7e-fe90-11e1-95c8-12313b122c56", + "entityType": "application_info" + }, + "published": 1347643370454, + "title": "<a mailto="mailto:tester...@hotmail.com">tester123 (tester...@hotmail.com)</a> created a new application named testapp2", + "verb": "create" + },... + , + "timestamp": 1349387253811 + } + +## Getting the applications in an organization +Use the GET method to retrieve the applications in an organization. + +### Request URI + + GET /organizations|orgs/{org_name}|{uuid}/applications|apps + +Parameters + +Parameter Description +--------- ----------- +string org_name|arg uuid Organization name or organization UUID. + +__Note__: You also need to provide a valid access token with the API call. See [Authenticating users and application clients](../security_and_auth/authenticating-users-and-application-clients.html) for details. + +### Example - Request + + curl -X GET "https://api.usergrid.com/management/orgs/testorg/apps" + +### Example - Response + + { + "action": "get organization application", + "data": { + "testorg/sandbox": "3500ba10-cd0c-11e1-bcf8-12313d1c5591", + "testorg/testapp1": "be09a5f9-fdd3-11e1-beca-12313d027361", + "testorg/testapp2": "cede5b8e-fe90-11e1-65c8-12313b111c56" + }, + "timestamp": 1349815338635, + "duration": 22 + } + +## Adding an admin user to an organization +Use the PUT method to add an existing admin user to an organization. + +### Request URI + + PUT /organizations|orgs/{org_name}|{org_uuid}/users/{username|email|uuid} + +Parameters + +Parameter Description +--------- ----------- +string org_name|arg org_uuid Organization name or organization UUID. +string username|string email|arg uuid User name, user email address, or user UUID. + + +### Example - Request + + curl -X PUT "https://api.usergrid.com/management/orgs/testorg/users/test123" + +### Example - Response + + { + "action": "add user to organization", + "status": "ok", + "data": { + "user": { + "applicationId": "00000000-0000-0000-0000-000000000001", + "username": "tester123", + "name": "test", + "email": "tester...@hotmail.com", + "activated": true, + "disabled": false, + "uuid": "335b527f-cd0d-11e1-bef8-12331d1c5591", + "adminUser": true, + "displayEmailAddress": "tester123 <tester...@hotmail.com>", + "htmldisplayEmailAddress": "tester123 <<a href="mailto:tester...@hotmail.com">tester...@hotmail.com</a>>" + } + }, + "timestamp": 1349390189106, + "duration": 11808 + } + +## Getting the admin users in an organization + +Use the GET method to retrieve details about the admin users in an organization. + +### Request URI + + GET /organizations|orgs/{org_name}|{org_uuid}/users + +Parameters + +Parameter Description +--------- ----------- +org_name|arg org_uuid Organization name or organization UUID. + +### Example - Request + + curl -X GET "https://api.usergrid.com/management/orgs/testorg/users" + +### Example - Response + + { + "action": "get organization users", + "data": { + "user": { + "applicationId": "00000000-0000-0000-0000-000000000001", + "username": "tester123", + "name": "test", + "email": "tester...@hotmail.com", + "activated": true, + "disabled": false, + "uuid": "335b527f-cd0d-11e1-bef8-12331d1c5591", + "adminUser": true, + "displayEmailAddress": "tester123 <tester...@hotmail.com>", + "htmldisplayEmailAddress": "tester123 <<a href="mailto:tester...@hotmail.com">tester...@hotmail.com</a>>" + } + }, + "timestamp": 13494542201685, + "duration": 10 + } + +## Removing an admin user from an organization + +Use the DELETE method to remove an admin user from an organization. All organizations must have a minimum +of one user with org admin privileges. If you attempt to delete the last org admin in an organization, +the API will return a 400 Bad Request error. + +### Request URI + + DELETE /organizations|orgs/{org_name}|{org_uuid}/users/{username|email|uuid} + +Parameters + +Parameter Description +--------- ----------- +org_name|arg org_uuid Organization name or organization UUID. +username|string email|arg uuid User name, user email address, or user UUID. + +### Example - Request + + curl -X DELETE "https://api.usergrid.com/management/orgs/testorg/users/test123" + +### Example - Response + + { + "action": "remove user from organization", + "status": "ok", + "data": { + "user": { + "applicationId": "00000000-0000-0000-0000-000000000001", + "username": "tester123", + "name": "test", + "email": "tester...@hotmail.com", + "activated": true, + "disabled": false, + "uuid": "335b527f-cd0d-11e1-bef8-12331d1c5591", + "adminUser": true, + "displayEmailAddress": "tester123 <tester...@hotmail.com>", + "htmldisplayEmailAddress": "tester123 <<a href="mailto:tester...@hotmail.com">tester...@hotmail.com</a>>" + } + }, + "timestamp": 1349453590005, + "duration": 727 + } + + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4a92ab09/content/docs/_sources/push-notifications/tbd.txt ---------------------------------------------------------------------- diff --git a/content/docs/_sources/push-notifications/tbd.txt b/content/docs/_sources/push-notifications/tbd.txt new file mode 100644 index 0000000..1b5ca73 --- /dev/null +++ b/content/docs/_sources/push-notifications/tbd.txt @@ -0,0 +1 @@ +# COMING IN USERGRID 2 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4a92ab09/content/docs/_sources/push-notifications/users-devices.txt ---------------------------------------------------------------------- diff --git a/content/docs/_sources/push-notifications/users-devices.txt b/content/docs/_sources/push-notifications/users-devices.txt new file mode 100644 index 0000000..4b1c2b6 --- /dev/null +++ b/content/docs/_sources/push-notifications/users-devices.txt @@ -0,0 +1,108 @@ +# Users & Devices + +Users and Devices are the primary ways to identify access to the system. Devices are great to track anonymous access, while Users allow you to model signing up, signing in, etc. + +Users +----- + +## Properties + +Property Type Description +------------ --------- --------------------------------------------------------------------------------- + uuid UUID Userâs unique entity ID + type string Type of entity, in this case âuserâ + created long [UNIX timestamp](http://en.wikipedia.org/wiki/Unix_time) of entity creation + modified long [UNIX timestamp](http://en.wikipedia.org/wiki/Unix_time) of entity modification + username string Valid and unique string username (mandatory) + password string User password + email string Valid and unique email address + name string User display name + activated boolean Whether the user account is activated + disabled boolean Whether the user account is administratively disabled + firstname string User first name + middlename string User middle name + lastname string User last name + picture string User picture + + +## Sets + + Set Type Description + ------------- -------- --------------------------------------- + connections string Set of connection types (e.g., likes) + rolenames string Set of roles assigned to a user + permissions string Set of user permissions + credentials string Set of user credentials + +## Relationshops + + Collection Type Description + ------------ ---------- ----------------------------------------------------- + groups group Collection of groups to which a user belongs + devices device Collection of devices in the service + activities activity Collection of activities a user has performed + feed activity Inbox of activity notifications a user has received + roles role Set of roles assigned to a user + +## Facebook Sign-in + +You can authenticate your Apache Usergrid requests by logging into +Facebook. To access Apache Usergrid resources, you need to provide an +access token with each request (unless you use the sandbox app). You can +get an access token by connecting to an appropriate web service endpoint +and providing the correct client credentials â this is further described +in [Authenticating users and application +clients](/authenticating-users-and-application-clients). However, you +can also obtain an access token by logging into Facebook. + +To enable authentication to Apache Usergrid through Facebook, do the +following in your app: + +1. Make a login call to the Facebook API (do this using the [Facebook + SDK](https://developers.facebook.com/docs/sdks/) or + [API](https://developers.facebook.com/docs/facebook-login/)). If the + login succeeds, a Facebook access token is returned. +2. Send the Facebook access token to Apache Usergrid. If the Facebook + access token is valid and the user does not already exist in App + Services, Apache Usergrid provisions a new Apache Usergrid user. It also + returns an Apache Usergrid access token, which you can use for + subsequent Apache Usergrid API calls. Behind the scenes, Apache Usergrid + uses the Facebook access token to retrieve the user's profile + information from Facebook. + + If the Facebook access token is invalid, Facebook returns an OAuth + authentication error, and the login does not succeed. + +The request to authenticate to Apache Usergrid using a Facebook access +token is: + + GET https://api.usergrid.com/{my_org}/{my_app}/auth/facebook?fb_access_token={fb_access_token} + +where: + +* {my\_org} is the organization UUID or organization name.\ +* {my\_app} is the application UUID or application name.\ +* {fb\_access\_token} is the Facebook access token. + + +Devices +------- + +## Properties + +Property Type Description +---------- -------- --------------------------------------------------------------------------------- + uuid UUID Entity unique ID + type string Entity type (e.g., device) + created long [UNIX timestamp](http://en.wikipedia.org/wiki/Unix_time) of entity creation + modified long [UNIX timestamp](http://en.wikipedia.org/wiki/Unix_time) of entity modification + name string Device name (mandatory) + + +## Relationships + +Devices have the following associated collection. + + Collection Type Description + ------------ ------ ----------------------------------------------- + users user Collection of users to which a device belongs http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4a92ab09/content/docs/_sources/reference/contribute-code.txt ---------------------------------------------------------------------- diff --git a/content/docs/_sources/reference/contribute-code.txt b/content/docs/_sources/reference/contribute-code.txt new file mode 100644 index 0000000..5bfd0ce --- /dev/null +++ b/content/docs/_sources/reference/contribute-code.txt @@ -0,0 +1,18 @@ +# How to Contribute Code & Docs + +Code Contributions +--- +The Usergrid project has adopted a policy for how code is to be contributed +by external contributors, and by those who are committers on the project. +You can read this policy here [Usergrid Contribution Workflow](https://cwiki.apache.org/confluence/display/usergrid/Usergrid+Contribution+Workflow). + +Basically, we use GitHub as our code review system. So you should fork the +apache/incubator-usergrid repo and submit PRs back to the project. Here +are are step-by-step guide for both both external contributors and committers: + +* [External Contributors Guide](https://cwiki.apache.org/confluence/display/usergrid/Usergrid+External+Contributors+Guide) +* [Usergrid Committers Guide](https://cwiki.apache.org/confluence/display/usergrid/Usergrid+Committers+Guide) + +Website and Documentation Contributions +--- +Documentation is in the /docs directory of our Git repo, written in Markdown format and managed by the Sphinx documentation system. See the README.md there for more information. http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4a92ab09/content/docs/_sources/reference/presos-and-videos.txt ---------------------------------------------------------------------- diff --git a/content/docs/_sources/reference/presos-and-videos.txt b/content/docs/_sources/reference/presos-and-videos.txt new file mode 100644 index 0000000..2112d11 --- /dev/null +++ b/content/docs/_sources/reference/presos-and-videos.txt @@ -0,0 +1,31 @@ +# Presentations & Videos + +## Building Mobile Apps with Apache Usergrid +- Screen-cast of a talk given by Dave Johnson at the All Things Open 2014, Raleigh, NC. + +<iframe width="560" height="315" src="https://www.youtube.com/embed/DjFG-QbxxLw" frameborder="0" allowfullscreen></iframe> + +## How to Contribute to Apache Usergrid +- David Johnson at [ApacheCon NA 2014](http://apacheconnorthamerica2014.sched.org/event/29971aabd3c86398be2ae93403c7d1d2) + +<iframe src="http://www.slideshare.net/slideshow/embed_code/33275731" width="600" height="400" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> + +## Apache Usergrid Internals +- Sungju Jin + +<iframe src="http://speakerdeck.com/player/f0cd95108c150131a1e7669157168c6d" width="600" height="400" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> + +## Open Source Mobile Backend on Cassandra +- Ed Anuff + +<iframe src="http://www.slideshare.net/slideshow/embed_code/13919079" width="600" height="400" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> + +## Usergrid Overview +- Ed Anuff + +<iframe src="http://www.slideshare.net/slideshow/embed_code/9476483" width="600" height="400" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width + +## Cassandra at Apigee, Usergrid Powering Mobile +- Video of talk given by Ed Anuff at the Cassandra Summit 2012, Santa Clara, CA. + +<iframe width="640" height="360" src="http://www.youtube.com/embed/RuJwIBu3jvs?rel=0" frameborder="0" allowfullscreen></iframe> \ No newline at end of file