Bilješka
Pristup ovoj stranici zahtijeva provjeru vjerodostojnosti. Možete pokušati da se prijavite ili promijenite direktorije.
Pristup ovoj stranici zahtijeva provjeru vjerodostojnosti. Možete pokušati promijeniti direktorije.
Applies To
- Partner Center
Appropriate roles
- Admin agent
Important
The growth margins API is currently available in the Sandbox environment only and is not yet available in production.
Partners can get a list of active growth margins for a given market (country/region) and segment. This method returns available current growth margins based on the growth margins available start and end dates.
Prerequisites
Credentials as described in Partner Center authentication. This scenario supports authentication with both standalone App and App+User credentials.
Segment represents the type of customer the growth margins are enabled for. Currently supports only commercial.
Country represents the customer country/region growth margins are available for. Country is represented by a two character country code.
REST request
[GET] /v1/catalog/benefits?type=growthmargin&country={country-code}&segment={segment}&baseSkuPaths={baseSkuPaths}
Request syntax
| Method | Request URI |
|---|---|
| GET | {baseURL}/v1/catalog/benefits?type=growthmargin&country={country-code}&segment={segment}&baseSkuPaths={baseSkuPaths} HTTP/1.1 |
URI parameter
Use the following query parameters to return available growth margins.
| Name | Type | Required | Description |
|---|---|---|---|
| type | string | Y | The type of benefit to retrieve. Use growthmargin for growth margins. |
| segment | string | Y | A string that determines which growth margins are available for a given segment. |
| country | string | Y | A two letter country code determining which customer country/region growth margins are available for. |
| baseSkuPaths | string | N | Optional. A comma-separated list of base product SKUs in format {productId}:{skuId} (for example, CFQ7TTC0ZSXK:0002,CFQ7TTC0ZSXK:0005). Filters benefits to return only the ones with the specified required products. Maximum of 10 SKU paths allowed. Requests exceeding this limit are truncated to the first 10. |
Request headers
For more information, see Partner Center REST headers.
Request body
None
Request example
GET https://api.partnercenter.microsoft.com/v1/catalog/benefits?type=growthmargin&country=US&segment=commercial HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Request example with baseSkuPaths filter
GET https://api.partnercenter.microsoft.com/v1/catalog/benefits?type=growthmargin&country=US&segment=commercial&baseSkuPaths=CFQ7TTC0ZSXK:0002,CFQ7TTC0ZSXK:0005 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
REST response
If successful, this method returns a list of growth margins.
Response fields
| Field | Type | Description |
|---|---|---|
| id | string | The growth margin identifier. |
| productCodes | array | The product code identifiers (UPN) for the growth margin. |
| name | string | The name of the growth margin. |
| description | string | The description of the growth margin. |
| requiredProducts | array | The base products and SKUs the growth margin applies to. |
| productPolicy.pricingPolicies | array | The growth margin value. |
| productPolicy.offerPolicies | array | The growth margin duration covering start/end dates. |
| productPolicy.eligibilityPolicies | array | The eligibility constraints that determine whether a customer transaction qualifies for the growth margin. |
The eligibilityPolicies contains the following constraint types:
| Constraint | Definition |
|---|---|
| seatConstraints | Defines the minimum or maximum seat requirements that must be met for a transaction to qualify for Growth Margin. Examples include minimum net-new seats or required seat expansion thresholds. |
| assetOwnershipLimits | Defines limits based on the customer's existing ownership of qualifying subscriptions or assets. Growth Margin eligibility may depend on whether the customer already owns, previously owned, or currently holds qualifying subscriptions. |
| eligibilityConstraints | Defines the set of business rules that determine whether a transaction qualifies for Growth Margin. These rules can include customer history, seat growth requirements, product eligibility, purchase timing, and other qualifying criteria. |
| productOwnershipConstraints | Defines product ownership conditions that must be met before Growth Margin can be applied. For example, eligibility may depend on whether the customer currently owns, previously owned, or does not own a specific product or SKU. The structure uses AND-of-OR groups: the outer array represents AND conditions (all must be met), and each inner array represents OR alternatives (at least one must be met). For example, [[A, B], [C]] means the customer must own (A or B) AND C. |
| purchaseRequirementConstraints | Defines purchase-specific requirements that must be satisfied for Growth Margin eligibility, such as purchasing a qualifying product, meeting a minimum seat threshold, selecting an eligible term, or creating a new subscription when required. |
| prerequisiteConstraints | Defines prerequisite product ownership conditions evaluated within a configurable lookback window. Uses MustHaveAll, MustHaveAny, and MustHaveNone rules to specify products the customer must own, may own any of, or must not own to qualify. Each rule can include seat constraints and a lookback period over which ownership is evaluated. |
Response success and error codes
Each response comes with an HTTP status code that indicates success or failure and more debugging information. Use a network trace tool to read this code, error type, and more parameters. For the full list, see Error Codes.
Response example
HTTP/1.1 200 OK
Content-Length: 138
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
Date: Fri, 27 Jun 2026 20:42:26 GMT
[
{
"id": "39NFJQT10HW7:0002:084R5MQ9QF27",
"productCodes": [
{
"productCode": "00093c3a-0000-0280-f57d-f85412b6826d"
}
],
"name": "CSP Growth Margin Discount",
"description": "CSP Growth Margin Discount",
"requiredProducts": [
{
"productId": "CFQ7TTC0ZSXK",
"skuId": "0002",
"termDuration": "P1Y",
"billingCycle": "Monthly"
}
],
"productPolicy": {
"pricingPolicies": [
{
"policyId": "PricingPolicyId:1w11wcikt5po",
"policyData": {
"benefits": [
{
"type": "PercentDiscount",
"value": 0.185
}
]
}
}
],
"offerPolicies": [
{
"policyId": "OfferPolicyId:qossxtmg4hky",
"policyData": {
"beneficiary": "Partner",
"properties": {
"startDate": "2026-05-12T14:20:05Z",
"endDate": "2026-08-12T14:20:11Z"
},
"isOptional": false
}
}
],
"eligibilityPolicies": [
{
"policyId": "EligibilityPolicyId:ewgn4xy9whko",
"policyData": {
"eligibility": {
"constraintsData": {
"seatConstraints": [
{
"minSeats": 0,
"maxSeats": 0,
"seatIncreaseMultiplier": 0,
"type": "SeatGrowthMultiplier"
}
],
"assetOwnershipLimits": [],
"eligibilityConstraints": [],
"productOwnershipConstraints": [
[]
],
"purchaseRequirementConstraints": [],
"prerequisiteConstraints": {
"MustHaveAll": null,
"MustHaveAny": null,
"MustHaveNone": {
"Products": [
{
"BigId": "CFQ7TTC10849/0002",
"MinSeats": null,
"MaxSeats": 5
}
],
"SeatConstraint": {
"MinSeats": null,
"MaxSeats": null,
"Type": "BaseCumulativeQuantity"
},
"LookbackWindow": {
"Type": "Period",
"Period": "P1Y"
}
}
}
}
}
}
}
]
}
}
]
Note
The baseSkuPaths parameter is purely a server-side filter. The response shape is the same whether or not baseSkuPaths is supplied — it only restricts the result set to benefits matching those base SKUs.