# Create an App

### Creating a new App and getting API credentials  <a href="#creating-a-new-app-and-getting-api-credentials" id="creating-a-new-app-and-getting-api-credentials"></a>

Start in the VARIO Cloud Admin-Center: [https://admin.vario.cloud](https://admin.vario.cloud/)

#### Step 1 – Open the Developer Menu (This has to be activated for you by the VARIO AG)  <a href="#step-1-open-the-developer-menu-this-has-to-be-activated-for-you-by-the-vario-ag" id="step-1-open-the-developer-menu-this-has-to-be-activated-for-you-by-the-vario-ag"></a>

1. Sign in to the VARIO Admin-Center.
2. In the left-hand navigation, select **“Entwickler”** (Developer).

This opens the Developer view where you see a list of your existing Apps.

#### Step 2 – Start the “Create App” dialog  <a href="#step-2-start-the-create-app-dialog" id="step-2-start-the-create-app-dialog"></a>

1. In the Developer view, locate the buttons in the header toolbar on the top right.
2. Click **“App erstellen”** (Create App).

A dialog titled **“Neue App erstellen”** (Create new App) will open.\
It contains a single text field labeled **“App-Manifest”**.

#### Step 3 – Paste the App manifest  <a href="#step-3-paste-the-app-manifest" id="step-3-paste-the-app-manifest"></a>

To define your new App, you must provide a valid **App manifest** in JSON format.

1. Prepare your manifest JSON locally.
2. Paste the JSON into the **App-Manifest** field.
3. Click **“Anlegen”** (Create).

**EXAMPLE APP MANIFEST**&#x20;

```json
{
  "appVersion": "1.0.0",
  "label": "Demoapp",
  "description": "Just a demo app",
  "shortName": "demoapp",
  "rootUrl": "https://app.example.com/",
  "pcInstallationUrl": "https://app.example.com/ui/install.html",
  "pcInstallationDeletionUrl": "https://app.example.com/ui/uninstall.html",
  "pcManifestUrl": "https://app.example.com/manifest",
  "requirements": {
    "licenseKey": "app_demo_license_key",
    "permissions": [
      {
        "resource": "crm-activity",
        "verb": "read"
      },
      {
        "resource": "crm-activity",
        "verb": "create"
      }
    ]
  },
  "authorizationVerbs": [
    {
      "verb": "use-app",
      "description": "Allowed to use the demo app"
    },
    {
      "verb": "add-activity",
      "description": "Allowed to add activities"
    }
  ],
  "uiIntegrations": {
    "integrations": [
      {
        "pointOfIntegration": "navigation.root",
        "id": "demo-page",
        "url": "https://app.example.com/ui/demo.html",
        "iconClass": "fal fa-atom-simple",
        "msgKey": "Demoapp",
        "permissionKey": "use-app"
      },
      {
        "id": "demo-dialog",
        "url": "https://app.example.com/ui/demo-dialog.html"
      },
      {
        "id": "demo-vr",
        "url": "https://app.example.com/ui/demo-vr.html"
      }
    ]
  }
}
```

At this point, you have defined:

* basic App metadata (`label`, `description`, `appVersion`)
* licensing and visibility (`uniqueLicenseKey`, `privateApp`, `dedicatedApp`)
* URLs for the App backend and UI (`rootUrl`, `pcInstallationUrl`, `pcInstallationDeletionUrl`, `pcManifestUrl` )
* required **permissions** for the APP (access to the activity table in this case) under `requirements.permissions`
* custom **authorization permissions** that can be assigned to users
* **UI integrations** (for example, a navigation entry via `pointOfIntegration: "navigation.root"`)

#### Step 4 – Copy your API credentials (AppClient)  <a href="#step-4-copy-your-api-credentials-appclient" id="step-4-copy-your-api-credentials-appclient"></a>

After you create the App successfully, VARIO-Cloud will generate OAuth2 client credentials for this App:

```json
{
  "appIdentifier": "your-app-identifier",
  "clientId": "your-client-id",
  "clientSecret": "your-client-secret",
  "appJWK": "JWK_TOKEN"
}
```

{% hint style="danger" %}
**Important**\
`appIdentifier`, `clientId`, `clientSecret` and `appJWK` are shown **only once**.\
You must copy these values immediately and store them securely (for example in a password manager, a secrets vault, or environment variables used by your App).
{% endhint %}

These values are what you will use later to authenticate against the VARIO-Cloud API (e.g. when requesting OAuth2 tokens) and to verify the APP\_JWK Token.

Once you have copied and stored these credentials, you are ready to continue with authentication (e.g. OAuth2 Refresh Token grant) and actual API calls.
