Elements allows the creation of Applications in a multi-Tenant format – a suite of applications that communicate with the database across a single shared instance. #
Applications define each app that you run on your Elements instance. Elements supports the concept of multi-tenancy, which is the ability to host multiple separate and independent applications from a single shared database of users. For example, Users, Items, and Missions are shared across all applications on the instance.
This enables your enterprise to publish a suite of applications under one instance of Elements. Such use cases for multiple applications may include a series of episodic games, separation of production and testing environments, cross promotion and sharing of digital goods, or the ability to publish multiple similar related applications sharing the back end.
Note
Each Application is the nexus for all subordinate configurations. It is even possible to support multiple independent iOS/Google Play Application IDs under one Application within elements. This can be useful if your company implements a strategy of using alternative Application IDs for testing or pre-release content.
Warning
For Applications, the following restrictions apply:
- There is one and only one repository of script code for executing cloud functions.
- There is one and only one endpoint for CDN support.
- A single Application may not host the same Google Play, iOS, or other unique Application identifier.
Application Configurations #
Application configurations add support for features such as Facebook SSO, Firebase push notifications, and Android and iOS In-App Products. Application configurations are created and configured from inside the Application editor in the console.
Each Application has its own set of Application configurations, which includes the data connecting it to various services such as push notifications, Facebook, and more.
Product bundles are connected to individual applications via corresponding Application configurations. These are used to manage in-app purchases for platforms like iOS and Android.
Application Structure #
- _id: This is the unique id automatically assigned when the Application is created.
- name: This is the Application’s unique name.
- description: This string is the Application’s description.
- maxProfiles (Elements 3.9+): The maximum number of profiles a User may create for this Application. Defaults to
1if unspecified. Lowering this value does not affect profiles that already exist — it only gates new Profile creations going forward. - autoCreateProfile (Elements 3.9+): Whether a User’s primary Profile for this Application should be created automatically. Defaults to
trueif unspecified. See Creating a User for how to trigger this during User creation. - authoritativeProfilePicture (Elements 3.9+): If
true, a User cannot edit their own Profile picture for this Application via the REST API — it must be set by backend/Element code instead. Defaults tofalseif unspecified (users may edit their own Profile picture). - displayNameRegex (Elements 3.9+): An optional Java regular expression a Profile’s display name must match for this Application. If blank or unspecified, no additional check is performed. Profile creates/updates with a non-matching display name are rejected with a
400 Bad Request; if the configured regex itself fails to compile, the request fails with a500and the failure is logged server-side.
Managing Applications Using the Console #
Applications are managed in the admin console by selecting Applications from the nav bar or the hamburger menu.
Add or Delete an Application #
Use the “Create Application” button to add a new Application.
Applications can be deleted by using the “Delete” button (trash icon) next to them.

Edit an Application #
Applications can be edited by tapping the “Edit” button for each Application.
In the edit panel, you’ll also find the URL for the git script repo for the Application, as well as links to the API documentation for the Application.
Application configurations are also accessed here, but we will cover those in a separate section below.

JSON Structure of Applications #
[{
"_id" : ObjectId("5cdb1088e96c3c4f2bfe1da7"),
"active" : true,
"name" : "name",
"description" : "This is a description",
"maxProfiles" : 1,
"autoCreateProfile" : true,
"authoritativeProfilePicture" : false,
"displayNameRegex" : null
}]
Adding an Application Configuration #
In the Applications section of the admin console, after having added an Application, you are able to add additional Metadata to that Application.
- Edit the chosen Application
- In the Application Editor, tap the “Add…” button to open the drop down menu
- Select the desired Application configuration type

