# Manage apps This topic describes how to submit an application to the Rebilly App Store, and how to manage your applications. The App Store enables integration with Rebilly services. It enables merchants to create their own apps, and use them to access and update user data. ## Submit an app This topic describes how to submit an application to the Rebilly App Store. In Rebilly, apps contain the following: - A set of informative fields: name, tagline, logo, authorLogo, authorName, and description. - A set of permissions that merchants can use on behalf of their users. - A set of properties that define which settings the user must configure when they install your app. Rebilly automatically renders UI fields for these properties. To build your own UI settings, see [Build UI settings form](#build-ui-settings-form). To submit an app: 1. Execute the [PostApplication](/catalog/all/application-owners/postapplication) operation, and provide all required fields. 2. [Notify Rebilly](mailto:info@rebilly.com) that you have submitted an app. 3. Wait for your app to be approved. When your app is approved, it is made available in the App Store, where users can install and use your app. If your app is not approved, Rebilly will contact you and inform you of adjustments that may need to be made. ### Example A "Hello World" app is available in the [Rebilly sandbox](https://app-sandbox.rebilly.com/app-store) as an example. The code is publicly available in this [GitHub repository](https://github.com/Rebilly/hello-world-app). ## Manage a submitted app This section describes how to manage your Rebilly application. ### Find users To identify users that have installed your app, select one of the following: - Fetch the all instances using the [Retrieve application instances](/catalog/all/application-owners/getapplicationinstancecollection) operation. - Create [webhooks](https://app.rebilly.com/webhooks) for the [installed](/catalog/all/application-owners/application-instance-enabled) and [uninstalled](/catalog/all/application-owners/application-instance-disabled) events, - Create [binds](https://app.rebilly.com/rebilly/rules/core) with webhooks for the same events. For more information on rules and binds, see [Automation](https://www.rebilly.com/docs/automations/automation/). ### Consume API endpoints as a user 1. Fetch an instance using the [Retrieve application instance](/catalog/all/application-owners/getapplicationinstancebyorganization) operation. The Rebilly API creates an [application JWT](/catalog/all/#section/Authentication) and sends it with the payload. 2. Use the application JWT to authenticate as the user. The application JWT is valid for 1 hour. ### Create webhooks for users 1. Add the `PostWebhook` and `PostServiceCredential` permissions to your app. 2. [Create a webhook service credential](/catalog/all/service-credentials/postservicecredential). 3. Use the [Create a webhook](/catalog/all/webhooks/postwebhook) operation to create webhooks that trigger on your users' account and to notify your application that an event occurred. ### Deactivate a user's application instance To deactivate a user's application on their behalf, execute the [Delete application instance](/catalog/all/application-users/deleteapplicationinstance) operation. By default, this endpoint permission is included in your application. ### Build UI settings form To build your own UI settings form, implement it on your website and provide the [configurationUrl](/catalog/all/application-owners/postapplication#!path=configurationUrl&t=request) property when [submitting an app](#submit-an-app). The user is redirected to this URL when they install an app. The URL contains a `jwt` query parameter along with data that identifies the user such as organization, application, issuer website (live or sandbox), and key ID. When the user completes the configuration on your website, submit settings using the [Upsert an application instance configuration](/catalog/all/application-users/putapplicationinstanceconfiguration/) operation [as a user](#consume-api-endpoints-as-a-user). ## Install an app **Disclaimer:** Rebilly does not verify app code, quality, or accept any liability for third-party apps. Ensure that you know and trust the app vendor before installing. 1. In the left navigation bar, press , then press an app. 2. Read the app information. 3. Press **Settings** and complete the required fields. 4. Press **Install**. 5. Assess the permissions that the app will gain. If you are happy with the permissions, press **Authorize**. ## Uninstall an app 1. In the left navigation bar, press , then press an installed app. 2. In the bottom left corner, press **Uninstall**.