---
title: Applications
description: "--- ###### Elements allows the creation of Applications in a multi-[Tenant](https://namazustudios.com/glossary/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…"
url: "https://namazustudios.com/docs/namazu-elements-core/applications/"
updated: "2026-08-15"
category: Namazu Elements Core Features
---

# Applications

---

###### Elements allows the creation of Applications in a multi-[Tenant](https://namazustudios.com/glossary/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](users-and-profiles), [Items](digital-goods), and [Missions](progress-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

For your customers who opt to use [User](https://namazustudios.com/glossary/user/) [name](https://namazustudios.com/glossary/name/) and password login, multi-tenancy greatly reduce password fatigue and allows you to offer single-sign on to all of your apps.

Each [Application](https://namazustudios.com/glossary/application/) is the nexus for all subordinate configurations. It is even possible to support multiple independent iOS/Google Play [Application](https://namazustudios.com/glossary/application/) IDs under one [Application](https://namazustudios.com/glossary/application/) within elements. This can be useful if your company implements a strategy of using alternative [Application](https://namazustudios.com/glossary/application/) IDs for testing or pre-release content.

Warning

For Applications, the following restrictions apply:

1. There is one and only one repository of script code for executing cloud functions.
2. There is one and only one endpoint for CDN support.
3. A single [Application](https://namazustudios.com/glossary/application/) may not host the same Google Play, iOS, or other unique [Application](https://namazustudios.com/glossary/application/) identifier.

### [Application](https://namazustudios.com/glossary/application/) Configurations [#application-configurations](#application-configurations)

[Application](https://namazustudios.com/glossary/application/) configurations add support for features such as Facebook SSO, Firebase push notifications, and Android and iOS In-App Products. [Application](https://namazustudios.com/glossary/application/) configurations are created and configured from inside the [Application](https://namazustudios.com/glossary/application/) editor in the console.

Each [Application](https://namazustudios.com/glossary/application/) has its own set of [Application](https://namazustudios.com/glossary/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](https://namazustudios.com/glossary/application/) configurations. These are used to manage in-app purchases for platforms like iOS and Android.

### [Application](https://namazustudios.com/glossary/application/) Structure [#application-structure](#application-structure)

- **_id:** This is the unique [id](https://namazustudios.com/glossary/id/) automatically assigned when the [Application](https://namazustudios.com/glossary/application/) is created.
- **[name](https://namazustudios.com/glossary/name/):** This is the [Application](https://namazustudios.com/glossary/application/)'s unique [name](https://namazustudios.com/glossary/name/).
- **description:** This string is the [Application](https://namazustudios.com/glossary/application/)'s description.
- **maxProfiles** *(Elements 3.9+)*: The maximum number of profiles a [User](https://namazustudios.com/glossary/user/) may create for this [Application](https://namazustudios.com/glossary/application/). Defaults to `1` if unspecified. Lowering this value does not affect profiles that already exist -- it only gates new [Profile](https://namazustudios.com/glossary/profile/) creations going forward.
- **autoCreateProfile** *(Elements 3.9+)*: Whether a [User](https://namazustudios.com/glossary/user/)'s primary [Profile](https://namazustudios.com/glossary/profile/) for this [Application](https://namazustudios.com/glossary/application/) should be created automatically. Defaults to `true` if unspecified. See [Creating a User](creating-a-user) for how to trigger this during [User](https://namazustudios.com/glossary/user/) creation.
- **authoritativeProfilePicture** *(Elements 3.9+)*: If `true`, a [User](https://namazustudios.com/glossary/user/) cannot edit their own [Profile](https://namazustudios.com/glossary/profile/) picture for this [Application](https://namazustudios.com/glossary/application/) via the [REST](https://namazustudios.com/glossary/rest/) API -- it must be set by backend/[Element](https://namazustudios.com/glossary/element/) code instead. Defaults to `false` if unspecified (users may edit their own [Profile](https://namazustudios.com/glossary/profile/) picture).
- **displayNameRegex** *(Elements 3.9+)*: An optional Java regular expression a [Profile](https://namazustudios.com/glossary/profile/)'s display [name](https://namazustudios.com/glossary/name/) must match for this [Application](https://namazustudios.com/glossary/application/). If blank or unspecified, no additional check is performed. [Profile](https://namazustudios.com/glossary/profile/) creates/updates with a non-matching display [name](https://namazustudios.com/glossary/name/) are rejected with a `400 Bad Request`; if the configured regex itself fails to compile, the request fails with a `500` and the failure is logged server-side.

### Managing Applications Using the Console [#managing-applications-using-the-console](#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](https://namazustudios.com/glossary/application/) [#add-or-delete-an-application](#add-or-delete-an-application)

Use the "Create [Application](https://namazustudios.com/glossary/application/)" button to add a new [Application](https://namazustudios.com/glossary/application/).

Applications can be deleted by using the "Delete" button (trash icon) next to them.

![](https://namazustudios.com/wp-content/uploads/2025/08/Screenshot-2026-01-26-at-11.57.22-AM-scaled.png)

#### Edit an [Application](https://namazustudios.com/glossary/application/) [#edit-an-application](#edit-an-application)

Applications can be edited by tapping the "Edit" button for each [Application](https://namazustudios.com/glossary/application/).

In the edit panel, you'll also find the URL for the git script repo for the [Application](https://namazustudios.com/glossary/application/), as well as links to the API documentation for the [Application](https://namazustudios.com/glossary/application/).

[Application](https://namazustudios.com/glossary/application/) configurations are also accessed here, but we will cover those in a separate section below.

![](https://namazustudios.com/wp-content/uploads/2025/08/Screenshot-2026-01-26-at-11.59.50-AM.png)

#### JSON Structure of Applications [#json-structure-of-applications](#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](https://namazustudios.com/glossary/application/) Configuration [#adding-an-application-configuration](#adding-an-application-configuration)

In the Applications section of the admin console, after having added an [Application](https://namazustudios.com/glossary/application/), you are able to add additional [Metadata](https://namazustudios.com/glossary/metadata/) to that [Application](https://namazustudios.com/glossary/application/).

1. Edit the chosen [Application](https://namazustudios.com/glossary/application/)
2. In the [Application](https://namazustudios.com/glossary/application/) Editor, tap the "Add…" button to open the drop down menu
3. Select the desired [Application](https://namazustudios.com/glossary/application/) configuration type
