# Managing Universes

A Universe is where you create your Data Apps.

Every Universe admin can create an unlimited number of Data Apps called Workspaces. Each [**Workspace**](/dev/building-web-app/management/managing-workspaces.md) can be accessed by an unlimited number of users (or email accounts) for an unlimited number of workspaces.

With the Universe object, you can use:

* `get_universe_workspaces()` to retrieve in cascade all workspaces in a universe

![A Universe with its Workspaces, and showing the App Types (types of apps) it has.](/files/Zvt0ocb0cDfEUFzxGYcP)

AppType 1 appears in the Workspace 1 personalized as Suite 1.2, AppType 3 appears as Suite 1.1, and so on.

In particular, the examples we are going to see are from a Universe with two AppTypes (1 and 2) and a single Workspace with two Apps (so-called Suites 1.1 and 1.2):

![All Suite 1 belongs to Workspace 1. Suite 1.1 is the AppType 1 application for Workspace 1.](/files/daB2tBptU3obSg6DQtxA)

## **The Methods** <a href="#the-methods" id="the-methods"></a>

### **1. get\_universe\_workspaces()** <a href="#id-1.-get_universe_businesses" id="id-1.-get_universe_businesses"></a>

To get all the workspaces that belong to a universe you can use:

```
workspaces: List[Dict] = s.universe.get_universe_workspaces()
```

![Showing all the Workspaces that belong to this Universe, in the yellow ellipse.](/files/1K8ckXOx3FETA520NDWN)

The method returns a single workspaces that exists for this Universe, in this example it has just one:

```python
workspaces = [
  {
    "id": "d0361c40-8de9-4dd0-a60c-b0ee12c4d7f4",
    "__typename": "Workspaces",
    "updatedAt": "2021-03-01T15:46:36.521Z",
    "createdAt": "2021-03-01T15:46:36.521Z",
    "owner": "333ce8a0-098a-41b5-84a5-6ae67705d1be",
    "workspaceUniverseId": "fffff-94df-49ed-b74b-d9fb9246dbb4",
    "name": "IKEAM Furniture"
    "type": "PERSONAL",
  }
]
```

### **2. get\_universe\_app\_types** <a href="#id-2.-get_universe_app_types" id="id-2.-get_universe_app_types"></a>

You can get all the types of Apps created in a Universe using this:

```
app_types: List[Dict] = s.universe.get_universe_app_types()
```

![Showing all the AppTypes that belong to this Universe, in the yellow ellipse.](/files/OAm5ja9YwqF391Wp5MOt)

It returns two App Types available for this Universe. Meaning that all **Workspaces** in this **workspaces** will have two **sort** of Apps: Retention App and Sales Prediction App.

```python
app_types = [
  {
    "id": "f861-4794-932b-6395de991111",
    "__typename": "AppType",
    "updatedAt": "2020-08-18T10:22:23.898Z",
    "createdAt": "2020-08-18T10:22:23.898Z",
    "appTypeUniverseId": "fffff-94df-49ed-b74b-d9fb9246dbb4",
    "normalizedName": "retention-app",
    "key": "RETENTION_SUITE"
    "name": "Retention App",
  },
    {
    "id": "g972-4794-932b-6395de002222",
    "__typename": "AppType",
    "updatedAt": "2021-10-03T10:22:23.898Z",
    "createdAt": "2021-10-03T10:22:23.898Z",
    "appTypeUniverseId": "fffff-94df-49ed-b74b-d9fb9246dbb4",
    "normalizedName": "sales-prediction"
    "key": "SALES_PREDICTION_SUITE"
    "name": "Sales prediction",
  },
]

```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.shimoku.com/dev/building-web-app/management/managing-universes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
