Skip to main content

Add listing and profile information

Important

This feature is currently in Early Availability (EA) status. For more information, see GraphQL API policy.

You can enrich your product by providing comprehensive listing and profile information, including:

  • Overview information: Include details such as title, description, video demo link, and documentation link.
  • Support information: Include details such as phone number, email address, help center URL, and any other additional information.
  • Features and benefits: Outline product’s unique features and benefits.
  • Media sources and top customers: Showcase media related to a product.
  • Editions shared information: Include details that are consistent across different editions of a product.

During product creation

You can initially provide all this information using the createProduct mutation during the product creation stage. Providing these details during the product creation enables you to set up your product's identity and characteristics from the beginning.

Mutation

mutation {
createProduct(
input: {
type: WEB_APP
addon: false
allowMultiplePurchases: true
usageType: MULTI_USER
referable: false
media: {
source: "https://www.example.com/img/product.png"
link: "https://www.example.com/product"
description: "A screenshot of the main interface"
}
name: [{ locale: "en-US", value: "My Product" }]
overview: {
documentationLink: [{
locale: "en-US"
value: "https://www.example.com/documentation"
}]
splashDescription: [{
locale: "en-US"
value: "An app designed to streamline your workflows."
}]
splashTitle: [{ locale: "en-US", value: "My Product" }]
}
shortDescription: [{
locale: "en-US"
value: "Created via API to streamline your workflows."
}]
vendorName: [{ locale: "en-US", value: "My Company Inc." }]
features: {
title: [{ locale: "en-US", value: "Main Feature" }]
description: [{
locale: "en-US"
value: "This feature automates repetitive tasks to simplify your workflows."
}]
position: 1
characteristics: {
isDisplayedAbovePicture: false
position: 1
highlights: {
isCheckmarkDisplayed: false
description: [{
locale: "en-US"
value: "Automates repetitive tasks."
}]
}
}
}
editionSharedInformation: {
features: [{
value: [{ locale: "en-US", value: "Unlimited access." }]
}],
footnotes: [{
value: [{ locale: "en-US", value: "Restrictions may apply." }]
}]
}
description: [{
locale: "en-US"
value: "My Product is your ultimate tool for streamlined, efficient workflows."
}]
benefits: {
title: [{ locale: "en-US", value: "Streamline Workflows" }]
description: [{
locale: "en-US"
value: "Optimized to streamline your workflows efficiently."
}]
}
}
) {
product {
id
}
}
}

Response

{
"data": {
"createProduct": {
"product": {
"id": "06ea7f9d-4a1b-4a00-810f-089ac43972e2",
}
}
}
}

After product creation

If you have initially created a product shell, you can later augment it with listing and profile information using the updateProduct mutation.

Mutation

mutation {
updateProduct(
input: {
productId: "06ea7f9d-4a1b-4a00-810f-089ac43972e2",
media: {
source: "https://www.example.com/img/product.png"
link: "https://www.example.com/product"
description: "A screenshot of the main interface"
}
name: [{ locale: "en-US", value: "My Product" }]
overview: {
documentationLink: [{
locale: "en-US"
value: "https://www.example.com/documentation"
}]
splashDescription: [{
locale: "en-US"
value: "An app designed to streamline your workflows."
}]
splashTitle: [{ locale: "en-US", value: "My Product" }]
}
shortDescription: [{
locale: "en-US"
value: "Created via API to streamline your workflows."
}]
vendorName: [{ locale: "en-US", value: "My Company Inc." }]
features: {
title: [{ locale: "en-US", value: "Main Feature" }]
description: [{
locale: "en-US"
value: "This feature automates repetitive tasks to simplify your workflows."
}]
position: 1
characteristics: {
isDisplayedAbovePicture: false
position: 1
highlights: {
isCheckmarkDisplayed: false
description: [{
locale: "en-US"
value: "Automates repetitive tasks."
}]
}
}
}
editionSharedInformation: {
features: { value: [{ locale: "en-US", value: "Unlimited access." }] }
footnotes: {
value: [{ locale: "en-US", value: "Restrictions may apply." }]
}
}
description: [{
locale: "en-US"
value: "My Product is your ultimate tool for streamlined, efficient workflows."
}]
benefits: {
title: [{ locale: "en-US", value: "Streamline Workflows" }]
description: [{
locale: "en-US"
value: "Optimized to streamline your workflows efficiently."
}]
}
}
) {
product {
id
}
}
}

Response

{
"data": {
"updateProduct": {
"product": {
"id": "06ea7f9d-4a1b-4a00-810f-089ac43972e2",
}
}
}
}
Important

This API is currently in Early Availability status. For more information, see Product lifecycle phases.

A product in the marketplace requires you to provide a logo to display on the listing and My Apps page (if it applies) and an overview picture to display on a product profile page.

Before you proceed, ensure that you have the following details:

  • Product ID Obtain this ID from the GraphQL response when you create the product, or through a query.
  • Upload type: Specify the context where the image will appear. Options include: PROFILE_LOGO, LISTING_AND_MYAPPS_LOGO, and OVERVIEW.
  • Locale: Indicate the image's locale (following the IETF BCP 47 standard).
  • Your image: Ensure that the image is in one of the supported formats and dimensions.

You can upload the images using a REST API. Below is an example cURL request:

curl -X POST "http://{baseURL}/api/products/v1/resources/image/uploadAndLink" \
-H "Authorization: Bearer {YOUR_ACCESS_TOKEN}" \
-H "Content-Type: multipart/form-data" \
-F "productRefId={Your_Product_Ref_Id}" \
-F "uploadType={PROFILE_LOGO|LISTING_AND_MYAPPS_LOGO|OVERVIEW}" \
-F "locale={IETF_BCP_47_Locale}" \
-F "file=@/path/to/your/image/file.png"

The functionality to add additional images, such as screenshots and feature highlights, will soon be available through the API.

Was this page helpful?