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.

To publish a product, you must provide an Overview image in the Profile.

Below are all the types of images you can upload:

NameType
OverviewLISTING_LOGO \ LISTING_AND_MYAPPS_LOGO
App Listing logoPROFILE_LOGO
MyApps logoMYAPPS_LOGO \ LISTING_AND_MYAPPS_LOGO
ScreenshotsSCREENSHOT
Feature ImagesFEATURE

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, MYAPPS_LOGO, LISTING_LOGO, LISTING_AND_MYAPPS_LOGO, OVERVIEW, SCREENSHOT, FEATURE.
  • 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|MYAPPS_LOGO|LISTING_LOGO|LISTING_AND_MYAPPS_LOGO|OVERVIEW|SCREENSHOT|FEATURE}" \
-F "locale={IETF_BCP_47_Locale}" \
-F "file=@/path/to/your/image/file.png"

Was this page helpful?