Get an offer by ID

Applies To

  • Partner Center
  • Partner Center operated by 21Vianet
  • Partner Center for Microsoft Cloud Germany
  • Partner Center for Microsoft Cloud for US Government

Gets an Offer resource that matches the offer ID.


  • Credentials as described in Partner Center authentication. This scenario supports authentication with both standalone App and App+User credentials.
  • An offer ID.



To find a specific offer by ID, use your IAggregatePartner.Offers collection, establish the country with a call to ByCountry(), and then call the ByID() method. Then, call the Get() or Get Async() method.

// IAggretagePartner partnerOperations;
// string countryCode;
// string offerId;

// retrieve the offer 
var offer = partnerOperations.Offers.ByCountry(countryCode).ById(offerId).Get();

Sample: Console test app. Project: PartnerSDK.FeatureSample Class: GetOffer.cs


To find a specific offer by ID, use your IAggregatePartner.getOffers function, establish the country with a call to the byCountry() function, and then call the byID() function. Then call the get() function.

// IAggretagePartner partnerOperations;
// String countryCode;
// String offerId;

// Retrieve the offer
Offer offer = partnerOperations.getOffers().byCountry(countryCode).byId(offerId).get();


To find a specific offer by ID, execute the Get-PartnerOffer command, and specify the CountryCode and OfferId parameters.

# $countryCode
# $offerId

Get-PartnerOffer -Country $countryCode -OfferId $offerId


Request syntax

Method Request URI
GET {baseURL}/v1/offers/{offer-id}?country={country-id} HTTP/1.1

URI parameter

Name Type Required Description
offer-id guid Y A GUID that corresponds to the offer.
country-id string Y The country/region ID.

Request headers

  • A locale-id formatted as a string is required.
  • See Headers for more information.

Request body


Request example

GET<offer-id>?country=<country-id> HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: ac943950-ba3d-47a0-bd2a-c5617a7fefe8
MS-CorrelationId: 7c1f6619-c176-4040-a88f-2c71f3ba4533
X-Locale: <locale-id>
Connection: Keep-Alive


If successful, this method returns an Offer resource in the response body.

Response success and error codes

Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Use a network trace tool to read this code, error type, and additional parameters. For the full list, see Error Codes.

Response example

HTTP/1.1 200 OK
Content-Length: 1918
Content-Type: application/json
MS-CorrelationId: 7c1f6619-c176-4040-a88f-2c71f3ba4533
MS-RequestId: ac943950-ba3d-47a0-bd2a-c5617a7fefe8
Date: Mon, 23 Nov 2015 23:13:01 GMT

    "id": "031C9E47-4802-4248-838E-778FB1D2CC05",
    "name": "Office 365 Business Premium",
    "description": "For businesses with 1 to 300 users that need the latest desktop version of Office,
                    plus anywhere access to email, filesharing, and online conferencing.",
    "minimumQuantity": 1,
    "maximumQuantity": 300,
    "rank": 56,
    "uri": "/3c95518e-8c37-41e3-9627-0ca339200f53/Offers/031C9E47-4802-4248-838E-778FB1D2CC05",
    "locale": "en-us",
    "country": "US",
    "category": {
        "id": "SmallBusiness_Key",
        "name": "Small Business",
        "rank": 30,
        "locale": "en-us",
        "country": "US",
        "attributes": {
            "objectType": "OfferCategory"
    "prerequisiteOffers": [],
    "isAddOn": false,
    "isAvailableForPurchase": true,
    "billing": "license",
    "isAutoRenewable": true,
    "product": {
        "id": "f245ecc8-75af-4f8e-b61f-27d8114de5f3",
        "name": "Office 365 Business Premium",
        "unit": "Licenses"
    "unitType": "Licenses",
    "links": {
        "learnMore": {
            "uri": "http: //",
            "method": "GET",
            "headers": []
    "attributes": {
        "objectType": "Offer"