# Publish an App

Publishing an app in Lowcoder transitions it from a Editing State to a live (published) state. This allows users to access and interact with the app based on the sharing and publishing settings defined by the App Creator.

## Publishing States

1. **Editing State**:
   * Apps in this state can only be accessed via the `/preview` endpoint by allowing users and user groups.
   * Changes made to the app are reflected in real-time during editing but are not visible to end-users until published.
2. **Published State**:
   * The app's most recent version at the time of publishing becomes the official published version.
   * The published version remains unchanged until a new publish action is performed, even if further edits are made to the app in the meantime.
   * Published apps are accessible via the `/view` endpoint.

<figure><img src="https://934254130-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjNgeI0mUzgw6Re92iTOw%2Fuploads%2FnVBqURWJBPqfBzdPHMZR%2FApp%20Editor%20%7C%20Publish%20App.png?alt=media&#x26;token=bfbcf4cd-6d3c-4f06-8527-25b2f472d128" alt=""><figcaption></figcaption></figure>

{% embed url="<https://app.supademo.com/demo/clyedpmvb0tt1thf7nke6hx7j>" %}

## Publishing Scope

An app can be published with different scopes, determining who can access the app:

1. **Selected User Groups or Users**:
   * The app can be published ([shared](https://docs.lowcoder.cloud/lowcoder-documentation/publish-apps/share-an-app)) to specific user groups or individual users within a workspace.
   * Only those with explicit access will be able to view the app. This option allows the app to be viewed by allowed users via the `/view` endpoint.
2. **Public to All**:
   * The app can be published as "public to all", making it accessible to anyone, including non-logged-in users and users from different workspaces.
   * This option allows the app to be viewed by anyone via the `/view` endpoint.

<figure><img src="https://934254130-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjNgeI0mUzgw6Re92iTOw%2Fuploads%2FkmtSQAN86hJQR9zpajOz%2FApp%20Editor%20%7C%20Share%20Public.png?alt=media&#x26;token=5e93d1c6-ca32-4284-8661-056c47e0b61f" alt="" width="563"><figcaption></figcaption></figure>

## Access Control

* If an app is not shared *publicly* and a user without the appropriate permissions try to access it, an error message will be displayed.
* For anonymous users (not logged in), attempting to access a non-public app will redirect them to the `/user/auth` endpoint for sign-in or sign-up.

## Marketplace Publishing

Apps can also be published to Lowcoder marketplaces:

<figure><img src="https://934254130-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjNgeI0mUzgw6Re92iTOw%2Fuploads%2Fvd4grSlSSpxQwrbIgEs6%2FApp%20Editor%20%7C%C2%A0Share%20Marketplace.png?alt=media&#x26;token=9f086d03-1cff-4954-bf7d-0b897df53bf0" alt="" width="563"><figcaption></figcaption></figure>

1. **Public to Marketplace**:
   * After *sharing* the app as "public to all", it can be further published to the marketplace.
   * This makes the app available in the marketplace listings, either globally at app.lowcoder.cloud or within individual Lowcoder installations.

## Workflow for Publishing an App

1. **Development and Preview**:
   * Develop the app in the editing state.
   * Use the `/preview` endpoint to test and view changes during development.
2. **Publish the App**:
   * Select the appropriate user groups, users, or choose to make the app "public to all". in the "Share" dialogue.
   * When ready, publish the app to create the official live version.
   * The published app is now accessible via the `/view` endpoint.
3. **Marketplace Publication** (Optional):
   * If desired, mark the app as "public to All" in the sharing dialogue. Now you can see the second option switch "Public to marketplace"
   * Then, publish the app to the marketplace as you publish other apps too.
   * The app will be listed in the *global* or local Lowcoder marketplace.&#x20;

{% hint style="info" %}
Global Marketplace means, if you published the app for the Marketplace on app.lowcoder.cloud
{% endhint %}

## Adding Title, Description, Category and Icon

In the left App-Settings Menu, you can add Title, Description, Category, and an Icon to your App, so the display is informative.

{% embed url="<https://app.supademo.com/demo/KsbwqBCpWK6OZascdMI-E>" %}
Adding Application Meta Information help to make the app display informative.
{% endembed %}
