Marketplace developers can grant app subscription discounts to attract and retain users. These can be managed, created, and deleted through both the Developer Center and the platform API.

Queries

  • Returns an array containing metadata about a specific app discount
  • Can only be queried directly at the root
  • Only works for app collaborators
query {
  marketplace_app_discounts (app_id: 123456) {
    account_slug
    discount
    valid_until  	
  }
}
let query = "query { marketplace_app_discounts (input: { limit:1, app_id:123456 } ) { account_slug discount valid_until } }";

fetch ("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization' : 'YOUR_API_KEY_HERE'
   },
   body: JSON.stringify({
     query : query
   })
  })
   .then(res => res.json())
   .then(res => console.log(JSON.stringify(res, null, 2)));

Arguments

You can use the following argument(s) to reduce the number of results returned in your marketplace_app_discounts query.

ArgumentDescription
app_id ID!The app's unique identifier.

Fields

You can use the following field(s) to specify what information your marketplace_app_discounts query will return.

FieldDescriptionEnum values
account_id ID!The account's unique identifier.
account_slug String!The account's slug.
app_plan_ids [String!]!The app plan IDs.
created_at String!The discount's creation date.
discount Int!The discount's percentage.
is_recurring Boolean!Returns true if the discount is recurring.
period DiscountPeriodThe discount's period. If it returns null, the discount applies to both yearly and monthly plans.MONTHLY
YEARLY
valid_until String!The date the discount is valid until.

Mutations

Grant a discount

The grant_marketplace_app_discount mutation will grant a discount for a new marketplace app subscription. You can also specify what fields to query back when you run the mutation.

mutation {
  grant_marketplace_app_discount (
      account_slug: "Test",  
      app_id: 123456,
    	data: {
    		app_plan_ids: ["Basic"],
      	days_valid: 30, 
      	discount: 10, 
      	is_recurring: false, 
      	period: MONTHLY
    }) {
    granted_discount {
        app_id
      	period
      	discount
    }
  }
}
let query = 'mutation { grant_marketplace_app_discount ( account_slug: "Test", app_id: 123456, data: { app_plan_ids: ["Basic"], days_valid: 30, discount: 10, is_recurring: false, period: monthly }) { granted_discount { app_id period discount } } }';

fetch ("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization' : 'YOUR_API_KEY_HERE'
   },
   body: JSON.stringify({
     'query' : query
   })
  })
   .then(res => res.json())
   .then(res => console.log(JSON.stringify(res, null, 2)));

Arguments

You can use the following argument(s) to specify which discount to grant.

ArgumentDescriptionSupported fields
account_slug String!The account's slug.
app_id ID!The app's unique identifier.
data GrantMarketplaceAppDiscountData!The discount's details. app_plan_ids [String!]!
days_valid Int!
discount Int!
is_recurring Boolean!
period DiscountPeriod

Delete a discount

The delete_marketplace_app_discount mutation will delete an existing discount for a marketplace app subscription. You can specify what fields to query back when you run the mutation.

mutation {
  delete_marketplace_app_discount (
    account_slug: "Test", 
    app_id: 123456
  ) {
    deleted_discount {
      account_slug
      app_id
    }
  }
}
let query = 'mutation { delete_marketplace_app_discount ( account_slug: "Test", app_id: 123456 ) { deleted_discount { account_slug app_id } } }';

fetch ("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization' : 'YOUR_API_KEY_HERE'
   },
   body: JSON.stringify({
     'query' : query
   })
  })
   .then(res => res.json())
   .then(res => console.log(JSON.stringify(res, null, 2)));

Arguments

You can use the following argument(s) to specify which discount to delete.

ArgumentDescription
account_slug String!The account's slug.
app_id ID!The app's unique identifier.