Manage existing private offers via API

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 while it's still in draft state. You must use the private offer ID to specify which private offer to delete. For multipart private offers, 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. This is the version of the schema that is being used in the request.

Request body

{
    "$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 will no longer be able to access it.

Note

For multiparty private offers, the ISV can withdraw a submitted private offer if the channel partner has not published and made it available to the end customer yet. The channel partner can only withdraw a published private offer if the customer hasn't accepted it. If the private offer has already been made available for customer to accept and ISV needs to make changes to it, the channel partner must first withdraw the private offer so that the ISV can then withdraw and revert the private offer back to a draft state to make edits.

You must use the private offer ID to specify which private offer you want to withdraw.

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. This is the version of the schema that is being used in the request.

Request body (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": "withdrawn"
        }
    ]
}

Request body (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": "withdrawn"
        }
    ]
}

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.