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
Querying marketplace_app_discounts
will return metadata about a specific app discount. This method accepts one argument and returns an array.
You can only query marketplace_app_discounts
at the root, so it can't be nested in another query.
This query will only work for app collaborators and will fail if you do not have the correct permissions.
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.
Argument | Description |
---|---|
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. Please note that some fields will have their own arguments.
Field | Description | Enum 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 DiscountPeriod | The 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.
Argument | Description | Supported 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 |
Fields
You can query back the following field(s) to retrieve data about the granted discount.
Field | Description | Supported fields |
---|---|---|
granted_discount GrantMarketplaceAppDiscount! | The granted discount's metadata. | app_id ID! 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.
Argument | Description |
---|---|
account_slug String! | The account's slug. |
app_id ID! | The app's unique identifier. |
Fields
You can query back the following field(s) to retrieve data about the deleted discount.
Field | Description | Supported fields |
---|---|---|
deleted_discount DeleteMarketplaceAppDiscount! | The deleted discount's metadata. | account_slug String! app_id ID! |