Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
You can use APIs to delete or withdraw existing private offers.
Delete an existing private offer
Use this method to delete an existing private offer when in draft state. You must use the private offer ID to specify which private offer to delete. For multiparty private offers (MPO), only the MPO originator can delete the private offer.
Request
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-07-01
Request header
| Header | Type | Description |
|---|---|---|
| Authorization | String | Required. The Microsoft Entra access token in the form Bearer <token>. |
Request parameters
$version - required. The version of the schema used in the request.
Request body for customer private offer
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01"
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/private-offer/2023-07-15",
"id": "private-offer/456e-a345-c457-1234",
"name": "privateOffercustomer1705",
"privateOfferType": "customerPromotion",
"offerPricingType": "editExistingOfferPricingOnly",
"state": "deleted"
}
]
}
Request body for MPO
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01"
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/private-offer/2023-07-15",
"id": "private-offer/456e-a345-c457-1234",
"name": "privateOffercustomer1705",
"privateOfferType": "multipartyPromotionOriginator",
"state": "deleted"
}
]
}
Response
The response contains the jobId you can use later to poll the status.
{
"$schema": "https://schema.mp.microsoft.com/schema/configure-status/2022-07-01",
"jobId": "c32dd7e8-8619-462d-a96b-0ac1974bace5",
"jobStatus": "notStarted",
"jobResult": "pending",
"jobStart": "2021-12-21T21:29:54.9702903Z",
"jobEnd": "0001-01-01",
"errors": []
}
Error codes
| HTTP status code | Description |
|---|---|
| 401 | Authentication Error: Ensure you're using a valid Microsoft Entra access token. |
| 400 | Schema Validation. Ensure your request body is following the correct schema and includes all required fields. |
Withdraw an existing private offer
Use this method to withdraw an existing private offer. Withdrawing an offer means your customer is no longer able to access it and it moves the Private offer to draft state.
Note
For customer private offers, Independent Software Vendor (ISV) can withdraw Customer Private Offers only when the offer is unaccepted and in the Pending Acceptance stage. For multiparty private offers, ISV may withdraw an offer only prior to channel partner publication to the end customer. Once the offer is published, the channel partner can withdraw it only prior to the customer accepting it. If the offer is already available for customer acceptance and the ISV needs to make changes, the channel partner must first withdraw the offer before the ISV can proceed with withdrawal.
You must use the private offer ID to specify which private offer you want to withdraw.
Managing a withdrawn private offer
Once a private offer is withdrawn, the only action available to the ISV via API is Delete. To delete a withdrawn private offer, the ISV must submit a POST request with state set to Delete. To update or resubmit this withdrawn private offer, it must be performed manually through the Partner Center portal.
An exception applies to channel partner (CP) within multiparty private offers. Provided an ISV hasn't withdrawn, a channel partner can update and resubmit a withdrawn multiparty private offer programmatically by submitting a POST request with state set to Live.
Request
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-07-01
Request Header
| Header | Type | Description |
|---|---|---|
| Authorization | String | Required. The Microsoft Entra access token in the form Bearer <token>. |
Request parameters
$version - required. The version of the schema that's being used in the request.
Request body for customer private offer (for ISV)
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01"
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/private-offer/2023-07-15",
"id": "private-offer/456e-a345-c457-1234",
"name": "privateOffercustomer1705",
"privateOfferType": "customerPromotion",
"offerPricingType": "editExistingOfferPricingOnly",
"state": "draft"
}
]
}
Request body for multi-party private offer (for ISV)
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01"
"resources": [
{
"$schema": "https://schema.mp.microsoft.com/schema/private-offer/2023-07-15",
"id": "private-offer/456e-a345-c457-1234",
"name": "privateOffercustomer1705",
"privateOfferType": "multipartyPromotionOriginator",
"state": "draft"
}
]
}
Request body for multi-party private offer (for Channel partner)
{
"$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01"
"resources": [
{
$schema": "https://schema.mp.microsoft.com/schema/private-offer/2023-07-15",
"id": "private-offer/456e-a345-c457-1234",
"name": "privateOffercustomer1705",
"privateOfferType": "multiPartyPromotionChannelPartner",
"state": "draft"
}
]
}
Response
The response contains the jobId you can later use to poll the status.
{
"$schema": "https://schema.mp.microsoft.com/schema/configure-status/2022-07-01",
"jobId": "c32dd7e8-8619-462d-a96b-0ac1974bace5",
"jobStatus": "notStarted",
"jobResult": "pending",
"jobStart": "2021-12-21T21:29:54.9702903Z",
"jobEnd": "0001-01-01",
"errors": []
}
Error codes
| HTTP status code | Description |
|---|---|
| 401 | Authentication Error: Ensure you're using a valid Microsoft Entra access token. |
| 400 | Schema Validation. Ensure your request body is following the correct schema and includes all required fields. |