You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2015/08/05 14:25:34 UTC

[8/8] incubator-usergrid git commit: Converted Orgs & Apps section to Markdown.

Converted Orgs & Apps section to Markdown.


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/d7bae265
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/d7bae265
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/d7bae265

Branch: refs/heads/ug2-doc-update
Commit: d7bae265dc2c7e600d429923847eace0f706ee31
Parents: d97f378
Author: Dave Johnson <sn...@apache.org>
Authored: Wed Aug 5 08:25:09 2015 -0400
Committer: Dave Johnson <sn...@apache.org>
Committed: Wed Aug 5 08:25:09 2015 -0400

----------------------------------------------------------------------
 docs/index.rst                             |   5 +-
 docs/orgs-and-apps/admin-user.md           | 352 +++++++++++++++++++
 docs/orgs-and-apps/application.md          | 100 ++++++
 docs/orgs-and-apps/applications.md         |  78 -----
 docs/orgs-and-apps/managing.md             |  50 +++
 docs/orgs-and-apps/organization.md         | 435 ++++++++++++++++++++++++
 docs/orgs-and-apps/organizations-admins.md |  43 ---
 docs/orgs-and-apps/tbd.md                  |   1 -
 8 files changed, 941 insertions(+), 123 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d7bae265/docs/index.rst
----------------------------------------------------------------------
diff --git a/docs/index.rst b/docs/index.rst
index 331f96d..b68cf36 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -116,7 +116,10 @@ Apache Usergrid Documentation
    :maxdepth: 2
    :caption: Organizations & Applications
    
-   orgs-and-apps/tbd
+   orgs-and-apps/managing
+   orgs-and-apps/organization
+   orgs-and-apps/application
+   orgs-and-apps/adminuser
   
 .. _push-notifications:
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d7bae265/docs/orgs-and-apps/admin-user.md
----------------------------------------------------------------------
diff --git a/docs/orgs-and-apps/admin-user.md b/docs/orgs-and-apps/admin-user.md
new file mode 100644
index 0000000..87b96f9
--- /dev/null
+++ b/docs/orgs-and-apps/admin-user.md
@@ -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.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 <ji...@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 <ji...@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 <ji...@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,
+    }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d7bae265/docs/orgs-and-apps/application.md
----------------------------------------------------------------------
diff --git a/docs/orgs-and-apps/application.md b/docs/orgs-and-apps/application.md
new file mode 100644
index 0000000..7495aee
--- /dev/null
+++ b/docs/orgs-and-apps/application.md
@@ -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/d7bae265/docs/orgs-and-apps/applications.md
----------------------------------------------------------------------
diff --git a/docs/orgs-and-apps/applications.md b/docs/orgs-and-apps/applications.md
deleted file mode 100644
index 262ef2b..0000000
--- a/docs/orgs-and-apps/applications.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# Applications
-
-You can create a new application in an organization through the [Admin
-portal](/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](/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](http://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.
-
-### Application properties
-
-The following are the system-defined properties for application
-entities. You can create application-specific properties for an
-application entity in addition to the system-defined properties. The
-system-defined properties are reserved. You cannot use these names to
-create other properties for an application entity. In addition the
-applications name is reserved for the applications collection — you
-can't use it to name another collection.
-
-The look-up properties for the entities of type application are uuid and
-name, that is, you can use the uuid and name properties to reference an
-application entity in an API call. However, you can search on a role
-using any property of the application entity. See [Queries and
-parameters](/queries-and-parameters) for details on searching.
-
-  Property                                Type      Description
-  --------------------------------------- --------- ---------------------------------------------------------------------------------
-  uuid                                    UUID      Application’s unique entity ID
-  type                                    string    "application"
-  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    Application name (mandatory)
-  title                                   string    Application title
-  description                             string    Application description
-  activated                               boolean   Whether application is activated
-  disabled                                boolean   Whether application is administratively disabled
-  allowOpenRegistration                   boolean   Whether application allows any user to register
-  registrationRequiresEmailConfirmation   boolean   Whether registration requires email confirmation
-  registrationRequiresAdminApproval       boolean   Whether registration requires admin approval
-  accesstokenttl                          long      Time to live value for an access token obtained within the application
-
-### Set properties
-
-The set properties for applications are listed in the table below.
-
-  Set              Type     Description
-  ---------------- -------- ----------------------------------------------------
-  collections      string   Set of collections
-  rolenames        string   Set of roles assigned to an application
-  counters         string   Set of counters assigned to an application
-  oauthproviders   string   Set of OAuth providers for the application
-  credentials      string   Set of credentials required to run the application
-
-### Collections
-
-The collections for applications are listed in the table below.
-
-  Collection      Type           Description
-  --------------- -------------- ----------------------------------------------------------------------------------
-  users           user           Collection of users
-  groups          group          Collection of groups
-  folders         folder         Collection of assets that represent folder-like objects
-  events          event          Collection of events posted by the application
-  assets          asset          Collection of assets that represent file-like objects
-  activities      activity       Collection of activity stream actions
-  devices         device         Collection of devices in the service
-  notifiers       notifier       Collection of notifiers used for push notifications
-  notifications   notification   Collection of push notifications that have been sent or are scheduled to be sent
-  receipts        receipt        Collection of receipts from push notifications that were sent
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d7bae265/docs/orgs-and-apps/managing.md
----------------------------------------------------------------------
diff --git a/docs/orgs-and-apps/managing.md b/docs/orgs-and-apps/managing.md
new file mode 100644
index 0000000..3c09807
--- /dev/null
+++ b/docs/orgs-and-apps/managing.md
@@ -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/d7bae265/docs/orgs-and-apps/organization.md
----------------------------------------------------------------------
diff --git a/docs/orgs-and-apps/organization.md b/docs/orgs-and-apps/organization.md
new file mode 100644
index 0000000..3980ae9
--- /dev/null
+++ b/docs/orgs-and-apps/organization.md
@@ -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":"tester123@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": "tester123@hotmail.com",
+          "activated": false,
+          "disabled": false,
+          "uuid": "48c92c73-0d7e-11e2-98b9-12313d288ee0",
+          "adminUser": true,
+          "displayEmailAddress": "tester123 <te...@hotmail.com>",
+          "htmldisplayEmailAddress": "tester123 <<a href="mailto:tester123@hotmail.com">tester123@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": "tester123@hotmail.com",
+            "activated": true,
+            "disabled": false,
+            "uuid": "327b527f-cd0c-11e1-bcf7-12313d1c4491",
+            "adminUser": true,
+            "displayEmailAddress": "tester123 <te...@hotmail.com>",
+            "htmldisplayEmailAddress": "tester123 <<a href="mailto:tester123@hotmail.com">tester123@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:tester123@hotmail.com">tester123 (tester123@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": "tester123@hotmail.com",
+          "activated": true,
+          "disabled": false,
+          "uuid": "335b527f-cd0d-11e1-bef8-12331d1c5591",
+          "adminUser": true,
+          "displayEmailAddress": "tester123 <te...@hotmail.com>",
+          "htmldisplayEmailAddress": "tester123 <<a href="mailto:tester123@hotmail.com">tester123@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": "tester123@hotmail.com",
+          "activated": true,
+          "disabled": false,
+          "uuid": "335b527f-cd0d-11e1-bef8-12331d1c5591",
+          "adminUser": true,
+          "displayEmailAddress": "tester123 <te...@hotmail.com>",
+          "htmldisplayEmailAddress": "tester123 <<a href="mailto:tester123@hotmail.com">tester123@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": "tester123@hotmail.com",
+          "activated": true,
+          "disabled": false,
+          "uuid": "335b527f-cd0d-11e1-bef8-12331d1c5591",
+          "adminUser": true,
+          "displayEmailAddress": "tester123 <te...@hotmail.com>",
+          "htmldisplayEmailAddress": "tester123 <<a href="mailto:tester123@hotmail.com">tester123@hotmail.com</a>>"
+        }
+      },
+      "timestamp": 1349453590005,
+      "duration": 727
+    }
+    
+    
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d7bae265/docs/orgs-and-apps/organizations-admins.md
----------------------------------------------------------------------
diff --git a/docs/orgs-and-apps/organizations-admins.md b/docs/orgs-and-apps/organizations-admins.md
deleted file mode 100644
index cbbbc99..0000000
--- a/docs/orgs-and-apps/organizations-admins.md
+++ /dev/null
@@ -1,43 +0,0 @@
-Organizations & Admins
-==================================================
-
-Organizations
-             
-
-An organization represents the highest level of the Apache Usergrid 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.
-
-+----------------+----------+--------------------------------------------------------------------------------------+
-| Property       | Type     | Description                                                                          |
-+================+==========+======================================================================================+
-| uuid           | UUID     | Organization’s unique entity ID                                                      |
-+----------------+----------+--------------------------------------------------------------------------------------+
-| type           | string   | "organization"                                                                       |
-+----------------+----------+--------------------------------------------------------------------------------------+
-| 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   |
-+----------------+----------+--------------------------------------------------------------------------------------+
-| 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. (create-only)                                     |
-+----------------+----------+--------------------------------------------------------------------------------------+
-
-Admins
-      
-
-An admin user has full access to perform any operation on all
-organization accounts of which the admin user is a member. Using the App
-services 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.

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d7bae265/docs/orgs-and-apps/tbd.md
----------------------------------------------------------------------
diff --git a/docs/orgs-and-apps/tbd.md b/docs/orgs-and-apps/tbd.md
deleted file mode 100644
index 279d128..0000000
--- a/docs/orgs-and-apps/tbd.md
+++ /dev/null
@@ -1 +0,0 @@
-# COMING SOON...
\ No newline at end of file