Manifest

The basic properties of the App Manifest.

The App Manifest contains all metadata for your app. It specifies Flow Cards, Drivers, etc.

/.homeycompose/app.json
{
  "id": "my.company.example",
  "version": "1.0.0",
  "compatibility": ">=5.0.0",
  "platforms": ["local", "cloud"],
  "sdk": 3,
  "brandColor": "#FF0000",
  "name": { "en": "My App" },
  "description": { "en": "Adds support for Example devices." },
  "category": "lights",
  "tags": { "en": ["example"] },
  "images": {
    "small": "/assets/images/small.png",
    "large": "/assets/images/large.png",
    "xlarge": "/assets/images/xlarge.png"
  },
  "permissions": ["homey:manager:api"]
  "author": {
    "email": "john@doe.com",
    "name": "John Doe"
  }
}

Properties

Additional properties

The following app manifest properties are optional but can be used to document extra information about your app. Most of this information will be presented to users in the Homey App Store.

Platform Local Required Features

An array of required features (nfc, ledring, speaker or matter) for platform local. Adding a required feature will make the app uninstallable on Homey Pros that do not have all the listed features. So only use this when the app will only function with the respective feature.

{
  "id": "com.athom.example",
  // ...
  "platformLocalRequiredFeatures": [ "nfc", "speaker", "ledring" ]
}

Contributors

An object with keys developers and translators. Each object in the developers or translators array must contain a name property.

/.homeycompose/app.json
{
  "id": "com.athom.example",
  // ...
  "contributors": {
    "developers": [
      {
        "name": "Alice the Wild"
      }
    ],
    "translators": [
      {
        "name": "Klemens Kohlmann"
      }
    ]
  }
}

Contributing

Perhaps some users want to show their appreciation for your hard work in the form of a small donation.

When adding one or more donation options to your app's manifest, a Donate button will appear on your app's page.

Donate buttons are only visible for non-verified developers.

/.homeycompose/app.json
{
  "id": "com.athom.example",
  // ...
  "contributing": {
    "donate": {
      "paypal": {
        // Will link to https://paypal.me/my_paypal_username
        "username": "my_paypal_username"
      },
      "bunq": {
        // Will link to https://bunq.me/my_bunq_username
        "username": "my_bunq_username"
       },
       "patreon": {
         // Will link to https://www.patreon.com/my_patreon_username
         "username": "my_patreon_username"
       },
       "githubSponsors": {
         // Will link to https://github.com/sponsors/my_github_username
         "username": "my_github_username"
       }
    }
  }
}

Bugs

Users can come across an issue in your app. Provide them with a bug URL, so they can quickly share their findings with you. An object with a property url that contains a link to your public bug/issue tracker.

/.homeycompose/app.json
{
  "id": "com.athom.example",
  // ...
  "bugs": {
    "url": "https://bitbucket.org/athom/com.athom.myapp/issues"
  }
}

Homey Community Topic

The Homey Community is a great place to share additional information about your app with your users and fellow developers. When the ID of the topic is provided, this shows a link on the App Store. You can get the ID from the topic's URL.

/.homeycompose/app.json
{
  "id": "com.athom.example",
  // ...
  "homeyCommunityTopicId": 1234
}

Source

If you would like to, you can add a link to your source code to allow others to view your code and maybe even submit a Pull Request. A string, starting with https://.

/.homeycompose/app.json
{
  "id": "com.athom.example",
  // ...
  "source": "https://github.com/athombv/com.athom.myapp"
}

Homepage

Share your company, brand or personal page with users to give them some more insight. A string, starting with https://.

/.homeycompose/app.json
{
  "id": "com.athom.example",
  // ...
  "homepage": "https://homey.app"
}

Support

Sometimes your users need some help or might have some questions about your app. Consider offering them support, just in case they need it. Add a URL or e-mail address to the app manifest. A support URL is mandatory for Verified Developers. A string, starting with https:// or mailto:.

/.homeycompose/app.json
{
  "id": "com.athom.example",
  // ...
  "support": "mailto:support@homey.app"
}

Last updated