Discover and verify Adobe Instant Deal Registration using APIs
Adobe Instant Deal Registration uses existing discovery and order APIs. There is no registration endpoint and no partner-supplied code or ID.
Discover using the Recommendations API
Set includeDealRegistrations to true in the request body of POST /v3/recommendations to discover the Instant Deal Registration opportunities. The default is false.
{
"recommendationContext": "GENERIC",
"customerId": "{{customerId}}",
"country": "US",
"language": "MULT",
"includeDealRegistrations": true
}
The request fields relevant to Instant Deal Registration discovery are:
recommendationContextGENERIC, ORDER_PREVIEW, and RENEWAL_ORDER_PREVIEW. <br /> - For GENERIC, the API returns Instant Deal Registration opportunities associated with offers currently held by the customer. If an active deal registration exists for an offer in the customer's subscription portfolio, it is included in the response. <br /> - For ORDER_PREVIEW and RENEWAL_ORDER_PREVIEW, the system evaluates the offers in the request and returns any Instant Deal Registration opportunities applicable to those offers.customerIdcountrylanguageincludeDealRegistrationstrue to include Instant Deal Registration opportunities. The default is false.When requested, the response includes the opportunities in discounts.dealRegistrations. Opportunities associated with products already owned by the customer are returned first. Entries use the DEAL_REGISTRATION category and do not contain code or id.
Sample response:
{
"discounts": {
"dealRegistrations": [
{
"category": "DEAL_REGISTRATION",
"name": "Acrobat Pro Q1 Deal Registration",
"description": "10% deal registration for qualifying partners on Acrobat Pro orders",
"startDate": "2026-01-01T00:00:00Z",
"endDate": "2026-04-10T23:59:59Z",
"status": "ACTIVE",
"qualification": { "baseOfferIds": ["65304578CA01A12"] },
"outcomes": [{ "type": "PERCENTAGE_DISCOUNT", "discountValues": [{ "value": 10 }] }]
}
]
},
"productRecommendations": [...]
}
The response fields for Instant Deal Registration discovery are:
discountsdiscounts.dealRegistrationsincludeDealRegistrations is true and opportunities are available.discounts.dealRegistrations[].categoryDEAL_REGISTRATION.discounts.dealRegistrations[].namediscounts.dealRegistrations[].descriptiondiscounts.dealRegistrations[].startDatediscounts.dealRegistrations[].endDatediscounts.dealRegistrations[].statusACTIVE or EXPIRED.discounts.dealRegistrations[].qualification.baseOfferIdsdiscounts.dealRegistrations[].outcomestype and discountValues.For the complete endpoint details, see Fetch Recommendations.
Discover using the Flexible Discounts API
DEAL_REGISTRATION entries are not included in the Flexible Discounts API's default category set. To view any active deals, request them explicitly, as shown in the following example:
GET <ENV>/v3/flex-discounts?categories=DEAL_REGISTRATION&market-segment=COM&country=US
A sample response is as follows:
{
"flexDiscounts": [
{
"category": "DEAL_REGISTRATION",
"name": "Acrobat Pro Q1 Instant Deal Registration",
"description": "10% Instant Deal Registration credit for qualifying partners on Acrobat Pro orders",
"startDate": "2026-01-01T00:00:00Z",
"endDate": "2026-04-10T23:59:59Z",
"status": "ACTIVE",
"qualification": { "baseOfferIds": ["65304578CA01A12"] },
"outcomes": [{ "type": "PERCENTAGE_DISCOUNT", "discountValues": [{ "value": 10 }] }]
}
]
}
Note: The Instant Deal Registration details returned in the response use the same structure and fields as flexible discount details.
The entry does not contain code or id. For the complete endpoint contract, see Get Flexible Discounts.
Verify Instant Deal Registration through Order APIs
Adobe evaluates and processes deal registrations by using the existing Order APIs:
POST /v3/customers/<customer-id>/orders with orderType: PREVIEWfetch-price=true to receive deal registration amounts for an applied line item.POST /v3/customers/<customer-id>/orders with orderType: NEWGET /v3/customers/<customer-id>/orders/<order-id>fetch-price=true to retrieve persisted deal registration amounts when available.GET /v3/customers/<customer-id>/ordersfetch-price=true to retrieve deal registration amounts in order-history results when available.POST /v3/customers/<customer-id>/orders with orderType: PREVIEW_RENEWALfetch-price=true for deal registration amounts.POST /v3/customers/<customer-id>/orders with orderType: RETURNInstant Deal Registration applies independently of flexDiscountCodes. A partner-supplied flexible discount can be present on the same order request, but partners never submit an Instant Deal Registration identifier.
Understand Instant Deal Registration response fields
Adobe evaluates and applies an eligible deal without a code or ID, regardless of whether the order request contains a flexible discount code. The following fields can appear in Preview Order, Create Order, Get Order, Get Order History, Preview Renewal, and Return responses:
{
"orderId": "5120008001",
"orderType": "NEW",
"status": "1000",
"lineItems": [
{
"extLineItemNumber": 1,
"offerId": "65304578CA01A12",
"quantity": 20,
"isDealRegistered": true,
"pricing": {
"partnerPrice": 209.76,
"discountedPartnerPrice": 169.90,
"lineItemPartnerPrice": 3398.00,
"earnedDealRegPerUnit": 20.98,
"earnedDealRegAmount": 419.6
},
"flexDiscounts": [
{
"code": "BLACK_FRIDAY",
"result": "SUCCESS"
}
]
}
],
"pricingSummary": {
"totalLineItemPartnerPrice": 3398.00,
"totalEarnedDealRegAmount": 419.6,
"currencyCode": "USD"
}
}
The following table identifies the parameters that are applicable in the Instant Deal Registration context:
lineItems[].isDealRegisteredisDealRegistered is included only when Instant Deal Registration was auto-injected for a line item: <br /> - isDealRegistered does not return: Instant Deal Registration was not injected or evaluated for the line item. <br /> - isDealRegistered returns and is false: Deal registration was attempted but qualification failed. <br /> - isDealRegistered returns true: Deal registration was attempted and qualification passes.lineItems[].pricing.earnedDealRegPerUnitfetch-price=truelineItems[].pricing.earnedDealRegAmountfetch-price=trueearnedDealRegPerUnit multiplied by quantity.pricingSummary.totalEarnedDealRegAmountfetch-price=true and at least one line item qualifiesearnedDealRegAmount across qualifying line items.Note: When isDealRegistered is false, the amount fields are omitted. If isDealRegistered is absent, Instant Deal Registration was not applied to the line item.
The deal registration amount is additive and remains separate from lineItemPartnerPrice, discountedPartnerPrice, and totalLineItemPartnerPrice. On Return orders, earnedDealRegPerUnit, earnedDealRegAmount, and totalEarnedDealRegAmount are not represented as negative values.