---
title: "Contentstack Java Marketplace SDK"
description: "Contentstack Java Marketplace SDK"
url: "https://www.contentstack.com/docs/developers/sdks/marketplace-sdk/java/reference"
product: "Contentstack"
doc_type: "guide"
audience:
  - developers
  - admins
version: "current"
last_updated: "2025-09-15"
---

# Contentstack Java Marketplace SDK

## Contentstack Java Marketplace SDK

## Introduction to Java Marketplace SDK

Contentstack offers Java Marketplace SDK. Seamlessly integrated, this SDK empowers Java developers to effortlessly build, deploy, and manage marketplace applications. Below is an in-depth guide to initiate your journey with the Java Marketplace SDK.

**Additional Resource:** To know more about the Java Marketplace SDK, refer to the [About Java Marketplace SDK](/docs/developers/sdks/marketplace-sdk/java/about-java-marketplace-sdk/) and [Get Started with Java Marketplace SDK](/docs/developers/sdks/marketplace-sdk/java/get-started-with-java-marketplace-sdk/) documentation.

## Marketplace

Contentstack [Marketplace](/docs/developers/marketplace-platform-guides/about-marketplace/) is a hub for apps and other resources that help you extend the capabilities of our core CMS and customize its functionalities. It houses third-party integrations, UI extensions (such as dashboard, sidebar, custom field, and RTE plugins), and other tools that you can plug into Contentstack at the stack as well as organizational level.

**Example:**

Marketplace marketplace = new Marketplace.Builder("ORGANIZATION\_UID").host("marketplace.contentstack.io").region(Region.EU).build();

## login

The login method is an optional method for the user to perform CRUD operations. Alternatively, users can perform CRUD operations directly using an authtoken without logging in.

Your email id

Your password

## app

The app method creates and retrieves a new instance of the App class with the given parameters.

UID of the app

## authorizations

The authorizations method retrieves a new instance of the Auth class with the given client and orgId.

## installation

The installation method retrieves a new instance of the Installation class with the specified client and orgId.

UID to create a new installation object.

## request

The request method retrieves a new instance of the AppRequest class with the specified client and orgId.

UID of the org

A custom host

DB region for Stack. You can choose from five regions namely, NA, EU, Azure NA, Azure EU, and GCP NA. The default region is set to NA.

## App

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

**Example:**

Marketplace marketplace = new Marketplace.Builder("ORGANIZATION\_UID").host("marketplace.contentstack.io").build();   
App app = marketplace.app("installationId");   
(or) App app = marketplace.app();

## addParam

The addParam method adds a header with the specified key and value to the current location and returns the updated location.

**Specified by:**

**addParam** in interface **BaseImplementation<App>**

The key of the header to be added

The value of the header to be added

## addHeader

The addHeader method adds a header with the specified key and value to this location and returns the updated location.

**Specified by:**

**addHeader** in interface **BaseImplementation<App>**

The key of the header to be added

The value of the header to be added

## addParams

The addParams method adds the specified parameters to this location and returns the updated location.

**Specified by:**

addParams

The parameters to be added

## addHeaders

The addHeaders method adds the specified parameters to this location and returns the updated location.

**Specified by:**

**addHeaders** provides support to add custom header to the request.

The parameters to be added

## createInstallation

The createInstallation method creates an installation call.

The body of the call

## updateVersion

The updateVersion method updates the version call.

The body of the call

## findAppAuthorizations

The findAppAuthorizations method finds the app authorizations call.

## deleteAuthorization

The deleteAuthorization method deletes the authorization call.

UID of the authorization call

## findAppInstallations

The findAppInstallations method finds the app installation call.

## findApps

The findApps method finds the app's call.

## createApp

The createApp method creates an app call.

The body of the call

## fetchApp

The fetchApp method fetches the app call.

## updateApp

The updateApp method updates the app call.

The body of the call

## findAppRequests

The findAppRequests method retrieves a call to list app requests with specified headers, app UID, and parameters.

## oauth

The oauth method retrieves an instance of oauth

The UID of the app

## hosting

The hosting method retrieves an instance of hosting.

The UID of the app

UID of the organization

UID of the app

## Auth

While authorizing a Contentstack App, the app requests permissions from the user to perform a set of operations on behalf of the user. The app receives an access token after a user authenticates and authorizes access, then passes it as a credential when it calls the Contentstack APIs.

The Auth class handles user-requested permissions, allowing users to either request for the permission or, once their task is finished, request permission revocations.

**Example:**

Auth auth = marketplace.authorizations()  
.addParam("param1", "value1")  
.addHeader("authtoken", ORG\_UID);

## findAuthorizedApp

The findAuthorizedApp method returns a call to retrieve authorized apps.

## addParam

The addParam method adds a header with the specified key and value

**Specified by:**

**addParam** in interface **BaseImplementation**

The key of the header to be added

The value of the header to be added

## addHeader

The addHeader adds a header with the specified key and value.

**Specified by:**

**addHeader** provides support to add custom header to the request

The key of the header to be added

The value of the header to be added

## addParams

The addParams method adds the specified parameters.

**Specified by:**

**addParams** in interface **BaseImplementation**

The parameters to be added

## addHeaders

The addHeaders method adds the specified parameters.

**Specified by:**

**addHeaders** in interface **BaseImplementation**

The parameters to be added

UID of the organization

## Installation

Contentstack Marketplace enables users to directly install prebuilt apps and starters. However, app installations are subject to access restrictions, meaning your ability to view all or certain installed apps depends on the permissions granted at both the stack and organization levels.

*   If you are an **organization admin or owner**, you will be able to see all the stack and organization apps installed by any user in your organization.
*   If you are a **stack admin or owner**, you will be able to see the apps installed for the stacks that you have access to.
*   If you are not a **stack admin or owner**, you will be able to see the apps installed for the stacks that you have access to.

**Example:**

Marketplace marketplace = new Marketplace.Builder("ORGANIZATION\_UID") .host("marketplace.contentstack.io").build();   
Installation installation = marketplace.installation();

## validateInstallationId

The validateInstallationId method validates if the installationId is not null or empty.

UI for the installation

## location

The location method returns a new Location object with the specified client, organisationId, and installationId.

## webhook

The webhook method creates and returns a new Webhook object with the given parameters.

UID of the webhook

## addParam

The addParam method adds a parameter to the collection using a key-value pair.

**Specified by:**

**addParam** in interface **BaseImplementation**

The key of the header to be added

The value of the header to be added

## addParams

The addParams method takes a HashMap of parameters and returns a generic type T.

**Specified by:**

**addParams** in interface **BaseImplementation**

The key of the header to be added

The value of the header to be added

## addHeader

The addHeader method adds a header with a specified key and value to a request.

**Specified by:**

**addHeader** in interface **BaseImplementation**

The key of the header to be added

The value of the header to be added

## addHeaders

The addHeaders method takes a HashMap of headers and adds them to the request.

**Specified by:**

**addHeaders** provides support to add custom header to the request

The key of the header to be added

The value of the header to be added

UID of the organization

UID for the installation

## AppRequest

If a user does not have the necessary permissions to install an app in an organization or stack, they can request the organization or stack administrator to install the app on their behalf. To do this, the user clicks the **Request Install** button.

Once the request is made, the organization or stack administrator can then approve or reject the request.

**Example:**

AppRequest appRequest = marketplace.request();

## addParam

The addParam method adds a parameter to a collection using a key-value pair.

**Specified by:**

**addParam** in interface **BaseImplementation**

The key of the header to be added

The value of the given key in the queryParams map

## addHeader

The addHeader method adds a header with a specified key and value to a request.

**Specified by:**

**addHeader** in interface **BaseImplementation**

The key of the header to be added

The value of the header to be added

## addHeaders

The addHeaders method adds headers to a HashMap and adds them to the request.

**Specified by:**

**addHeaders** provides support to add custom header to the request

The key of the header to be added

The value of the header to be added

## addParams

The addParams method adds all the key-value pairs from the given HashMap to the queryParams HashMap and returns the updated AppRequest object.

**Specified by:**

**addParams** in interface **BaseImplementation**

The key of the header to be added

The value of the header to be added

UID of the organization