Switch branches/tags
v1.0 v1.0-rc1 v0.9.10 usergrid-006 usergrid-2.1.0 usergrid-1.0.2 usergrid-1.0.1 usergrid-1.0.0 tempbuildtag pre-massive-change-merge portal-2.0.16 portal-2.0.15 portal-2.0.14 portal-2.0.13 portal-2.0.12 portal-2.0.11 portal-2.0.10 portal-2.0.9 portal-2.0.8 portal-2.0.7 portal-2.0.6 portal-2.0.5 help e2e 20150608-sso-fixes 20150515-jclouds-fix 20150512-sso-conn-pool 20150505-dedicated-sso 2015.02.24-dandb-fixes 2015.02.23-woolworths-fixes 2015-17-04-ssotest 2015-04-29-ssotest 2015-04-28-ssotest 2015-04-21-ssofix 2015-04-20-ssotest 2015-04-16-burberry-fix 2015-04-02-fixes2 2015-04-02-fixes 2015-04-01-thegapfix 2015-03-25-connection-paging-UG-511-12-r1 2015-03-18-repair-fix-11-r1 2015-03-15-uniquefix-cleanup-fix-10-r2 2015-03-11-queue-delete-by-quey-10-r1 2015-03-11-org-app-cache-usergrid-10-r1 2015-03-09-org-app-cache-usergrid-9-r6 2015-03-09-org-app-cache-usergrid-9-r5 2015-03-09-org-app-cache-usergrid-9-r4 2015-03-06-org-app-cache-usergrid-9-r2 2015-03-06-org-app-cache-usergrid-9-r1 2015-03-04-dandb-fixes 2015-02-27_8_r2 2015-02-19-woolworths-rebuild-hotfix 2015-02-19-woolworths-rebuild-hotfix-2 2015-02-16-r1 48.0.stack 2.1.working 2.1-release 1.0.2 1.0.1 1.0.0 1.0.0rc1 1.0.0-rc6 1.0.0-rc4 1.0.0-rc3 0.0.80.r1 0.0.72.r5 0.0.72.r4 0.0.72.r3 0.0.72.r2 0.0.72.r1 0.0.64.r1 0.0.58.r1 0.0.57.r1 0.0.54.r1 0.0.54.r1-freenethotfix-3 0.0.54.r1-freenethotfix-2 0.0.52.r4 0.0.52.r3 0.0.52.r2 0.0.52.r1 0.0.46.r4 0.0.46.r3 0.0.44.r2 0.0.44.r1 0.0.43.r4 0.0.40.r5 0.0.40.r4 0.0.40.r3 0.0.40.r2 0.0.40.r1 0.0.29rc1 0.0.9.r0
Nothing to show
Find file History
keyurkarnik Revamped Export code to be more efficient
Export tool now works in parallel for multiple collections
Exports can be resumed from last exported edge
Export is substantially faster due to parallel processing
Connection fetching is optimzed
Export now creates multiple dirs for apps and collections
Latest commit abec1d9 Nov 6, 2018
Failed to load latest commit information.
build-tools Prepare for next iteration of Usergrid (2.2.0) Feb 25, 2016
config Basic code improvements Aug 17, 2017
core Fixed failing tests and bugs Sep 25, 2018
corepersistence Fixed queryindex test to match new operands Aug 29, 2018
java-sdk-old Merge branch 'master' into two-dot-o Jun 9, 2015
launcher Finish convert token service persistence to Datastax. Add tests, and … Jun 18, 2017
mongo-emulator Don't cache Optionals or nulls in app id cache. Apr 8, 2016
query-validator Add ability to walk through a collection and delete all the entities,… Aug 28, 2017
rest Fixed failing tests and bugs Sep 25, 2018
scripts De-dup management app as part of migration script and fix re-index so… Nov 3, 2015
services Merge pull request #1 from keyurkarnik/master Sep 5, 2018
test-utils Converts de-indexing of edges and entities to identify documents in t… Aug 19, 2017
tools Revamped Export code to be more efficient Nov 7, 2018
websocket Converts de-indexing of edges and entities to identify documents in t… Aug 19, 2017
.editorconfig added apache header to editor config Jan 12, 2015
.gitignore Rename deployment properties file back to usergrid-deployment.propert… Sep 21, 2014
Coverage.md Correct Jacoco profile command arg Nov 16, 2015
README.md Moving the Java SDK to https://github.com/apache/usergrid-java Sep 2, 2016
cloudbees.xml USERGRID-208 License headers for all XML files Aug 13, 2014
jacoco-pom.xml Fixes to new jacoco profile. Oct 26, 2015
pom.xml Merge pull request #1 from keyurkarnik/master Sep 5, 2018


Apache Usergrid

A highly-scalable data platform for mobile applications.



First, build the Java SDK as the stack uses this as a dependency for some modules:

mvn clean install -DskipTests=true

From the command line, go to the usergrid stack/ directory and type the following:

mvn clean install -DskipTests=true

If you want to run tests you will need to have Cassandra and ElasticSearch running on your computer and on the default ports. The following command will do the build and run all JUnit tests:

mvn clean install


The build process will package the Usergrid Stack into one file stack/rest/target/ROOT.war

To run Usergrid Stack you will need to deploy it to Tomcat. You can find instructions for doing that in the Usergrid Deployment Guide.

Upgrading from Previous Versions

There is currently no upgrade path for a Usergrid 1 database to Usergrid 2.x.

Getting Started with the HTTP API

Start by creating an Organization. It’s the top-level structure in Usergrid: all Apps and Administrators must belong to an Organization. Here’s how you create one:

curl -X POST  \
     -d 'organization=myfirstorg&username=myadmin&name=Admin&email=admin@example.com&password=password' \

You can see that creating an Organization creates an Administrator in the process. Let’s authenticate as him:

curl 'http://localhost:8080/management/token?grant_type=password&username=myadmin&password=password'

This will return an access_token. We’ll use this to authenticate the next two calls. Next, let’s create an Application:

curl -H "Authorization: Bearer [the management token from above]" \
     -H "Content-Type: application/json" \
     -X POST -d '{ "name":"myapp" }' \

… And a User for the Application:

curl -H "Authorization: Bearer [the management token from above]" \
     -X POST "http://localhost:8080/myfirstorg/myapp/users" \
     -d '{ "username":"myuser", "password":"mypassword", "email":"user@example.com" }'

Let’s now generate an access token for this Application User:

curl 'http://localhost:8080/myfirstorg/myapp/token?grant_type=password&username=myuser&password=mypassword'

This will also send back an access_token, but limited in scope. Let’s use it to create a collection with some data in it:

curl -H "Authorization: Bearer [the user token]" \
     -X POST -d '[ { "cat":"fluffy" }, { "fish": { "gold":2, "oscar":1 } } ]' \


We welcome all contributions, including via pull requests on GitHub! For more information see How to Contribute Code & Docs.


Usergrid is licensed under the Apache License, Version 2.