# meta.json applications schema

Reference for the `applications` array in `meta.json`. This array declares one or more Viam Applications that Viam hosts at `*.viamapplications.com` after you upload the module. For the deployment workflow that produces and uploads `meta.json`, see [Deploy a Viam application](https://docs.viam.com/build-apps/hosting/deploy/).

## Complete example

```json
{
  "$schema": "https://dl.viam.dev/module.schema.json",
  "module_id": "acme:dashboard",
  "visibility": "public",
  "applications": [
    {
      "name": "dashboard",
      "type": "multi_machine",
      "entrypoint": "dist/index.html",
      "fragmentIds": ["f0b5a1c2-..."],
      "allowedOrgIds": ["org-id-1", "org-id-2"],
      "logoPath": "static/logo.png",
      "customizations": {
        "machinePicker": {
          "heading": "Select your device",
          "subheading": "Choose a machine to monitor"
        }
      }
    }
  ]
}
```

## Top-level module fields

These fields apply to the whole module, not to a specific application. They are required even when the module’s only purpose is to host an application.

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `$schema` | string | Optional | Canonical value: `
