---
title: "App"
description: "App"
url: "https://www.contentstack.com/docs/developers/sdks/marketplace-sdk/javascript/reference/app"
product: "Contentstack"
doc_type: "guide"
audience:
  - developers
  - admins
version: "current"
last_updated: "2026-09-13"
---

# App

## App

App/Manifest is used for creating/updating/deleting an app in your organization.

**Example:**

```
import * as contentstack from '@contentstack/marketplace-sdk'const app = client.marketplace('organization_uid').app('manifest_uid');
```

## update

The update method allows you to update the app details such as name, description, icon, and so on.

```
Example:
import * as contentstack from '@contentstack/marketplace-sdk'
const client = contentstack.client({ authtoken: 'TOKEN'});
const updateApp = {
 name: 'APP_NAME',
 description: 'APP_DESCRIPTION',
 target_type: 'stack'/'organization',
}
const app = client.marketplace('organization_uid').app('manifest_uid');
app = Object.assign(app, updateApp)
app.update()
.then((app) => console.log(app));
```

## fetch

The fetch method retrieves the details of a particular app with its ID.

```
Example:

import * as contentstack from '@contentstack/marketplace-sdk'
const client = contentstack.client({ authtoken: 'TOKEN'});
client.marketplace('organization_uid').app('manifest_uid').fetch()
.then((app) => console.log(app));
```

To get the oauth details of an app

## oauth

The oauth method allows you to retrieve and update Oauth and retrieve scopes.

```
Example:
import * as contentstack from '@contentstack/marketplace-sdk'
const client = contentstack.client({ authtoken: 'TOKEN'});
client.marketplace('organization_uid').app('manifest_uid').oauth();
```

To get the oauth details of an app

## delete

The delete method is used to delete the app.

```
Example:
import * as contentstack from '@contentstack/marketplace-sdk'
const client = contentstack.client({ authtoken: 'TOKEN'});
client.marketplace('organization_uid').app('manifest_uid').delete()
.then((response) => console.log(response));
```

## hosting

The hosting method allows you to retrieve, update, and deploy a manifest.

```
Example:
import * as contentstack from '@contentstack/marketplace-sdk'
const client = contentstack.client({ authtoken: 'TOKEN'});
client.marketplace('organization_uid').app('manifest_uid').hosting();
```

## install

The install method initiates the installation of the app.

```
Example:
import * as contentstack from '@contentstack/marketplace-sdk'
const client = contentstack.client({ authtoken: 'TOKEN'});
client.marketplace('organization_uid').app('manifest_uid').install({ targetUid: 'STACK_API_KEY', targetType: 'stack' })
.then((installation) => console.log(installation));
```

The target on which app needs to be installed. It can either be a stack or an organization

The UID of the target, on which the app will be installed

## upgrade

The upgrade method upgrades the installation of an app.

```
Example:
import * as contentstack from '@contentstack/marketplace-sdk'
const client = contentstack.client({ authtoken: 'TOKEN'});
client.marketplace('organization_uid').app('manifest_uid').upgrade({ targetUid: 'STACK_API_KEY', targetType: 'stack' })
.then((installation) => console.log(installation));
```

The target on which app needs to be installed. It can either be a stack or an organization

The uid of the target, on which the app will be installed

## authorize

The authorize method authorizes the app for a specific scope.

```
Example:
import * as contentstack from '@contentstack/marketplace-sdk'
const client = contentstack.client({ authtoken: 'TOKEN'});
client.marketplace('organization_uid').app('app_uid').authorize({ responseType, clientId, redirectUri, scope, state })
.then((response) => console.log(response));
```

Desired grant type

Client id of the app

Redirect URL of the app

Scopes of the app

Local state provided by the client

## getRequests

The getRequests method retrieves all requests of an app.

```
Example:
import * as contentstack from '@contentstack/marketplace-sdk'
const client = contentstack.client({ authtoken: 'TOKEN'});
client.marketplace('organization_uid').app('app_uid').getRequests()
.then((response) => console.log(response));
```

## authorization

The authorization method allows you to retrieve all and revoke specific or all authorizations.

```
Example:
import * as contentstack from '@contentstack/marketplace-sdk'
const client = contentstack.client({ authtoken: 'TOKEN'});
client.marketplace('organization_uid').app('manifest_uid').authorization();
```

## listInstallations

The listInstallations method is used to retrieve all installations of your Contentstack organization.

```
Example:
import * as contentstack from '@contentstack/marketplace-sdk'
const client = contentstack.client({ authtoken: 'TOKEN'});
client.marketplace('organization_uid').app('app_uid').listInstallations()
.then((collection) => console.log(collection));
```

## create

The create method creates a new app/manifest in your Contentstack organization.

```
Example:
import * as contentstack from '@contentstack/marketplace'
const client = contentstack.client({ authtoken: 'TOKEN'});
const app = {
 name: 'APP_NAME',
 description: 'APP_DESCRIPTION',
 target_type: 'stack'/'organization',
 webhook: // optional
  {
    target_url: 'TARGET_URL',
    channel: 'CHANNEL'
  },
 oauth: // optional
  {
    redirect_uri: 'REDIRECT_URI',
    enabled: true,
  }
}

client.marketplace('organization_uid').app().create(app)
.then((app) => console.log(app));
```

Details of the app to be created

UID of the manifest

## App | JavaScript Marketplace SDK | Contentstack

App lets you create, update, and delete an app or manifest in your organization using the Contentstack JavaScript Marketplace SDK.