2026/08/06 - AWS Marketplace Discovery - 1 updated api methods
Changes GetOfferTerms now returns netPaymentTerm in offerTerms, specifying payment due period after invoice date. The paymentDuePeriod field uses ISO 8601 duration format (e.g., "P30D" for net 30 days). This is a backward-compatible addition. See API documentation for full structure and examples.
{'offerTerms': {'byolPricingTerm': {'type': {'NetPaymentTerm'}},
'configurableUpfrontPricingTerm': {'type': {'NetPaymentTerm'}},
'fixedUpfrontPricingTerm': {'type': {'NetPaymentTerm'}},
'freeTrialPricingTerm': {'type': {'NetPaymentTerm'}},
'legalTerm': {'type': {'NetPaymentTerm'}},
'netPaymentTerm': {'id': 'string',
'paymentDuePeriod': 'string',
'type': 'ByolPricingTerm | '
'ConfigurableUpfrontPricingTerm | '
'FixedUpfrontPricingTerm | '
'UsageBasedPricingTerm | '
'FreeTrialPricingTerm | LegalTerm | '
'PaymentScheduleTerm | '
'RecurringPaymentTerm | RenewalTerm '
'| SupportTerm | ValidityTerm | '
'VariablePaymentTerm | '
'NetPaymentTerm'},
'paymentScheduleTerm': {'type': {'NetPaymentTerm'}},
'recurringPaymentTerm': {'type': {'NetPaymentTerm'}},
'renewalTerm': {'type': {'NetPaymentTerm'}},
'supportTerm': {'type': {'NetPaymentTerm'}},
'usageBasedPricingTerm': {'type': {'NetPaymentTerm'}},
'validityTerm': {'type': {'NetPaymentTerm'}},
'variablePaymentTerm': {'type': {'NetPaymentTerm'}}}}
Returns the terms attached to an offer, such as pricing terms (usage-based, contract, BYOL, free trial), legal terms, payment schedules, validity terms, support terms, and renewal terms.
See also: AWS API Documentation
Request Syntax
client.get_offer_terms(
offerId='string',
maxResults=123,
nextToken='string'
)
string
[REQUIRED]
The unique identifier of the offer whose terms to retrieve.
integer
The maximum number of results that are returned per call. You can use nextToken to get more results.
string
If nextToken is returned, there are more results available. Make the call again using the returned token to retrieve the next page.
dict
Response Syntax
{
'offerTerms': [
{
'byolPricingTerm': {
'id': 'string',
'type': 'ByolPricingTerm'|'ConfigurableUpfrontPricingTerm'|'FixedUpfrontPricingTerm'|'UsageBasedPricingTerm'|'FreeTrialPricingTerm'|'LegalTerm'|'PaymentScheduleTerm'|'RecurringPaymentTerm'|'RenewalTerm'|'SupportTerm'|'ValidityTerm'|'VariablePaymentTerm'|'NetPaymentTerm'
},
'configurableUpfrontPricingTerm': {
'id': 'string',
'type': 'ByolPricingTerm'|'ConfigurableUpfrontPricingTerm'|'FixedUpfrontPricingTerm'|'UsageBasedPricingTerm'|'FreeTrialPricingTerm'|'LegalTerm'|'PaymentScheduleTerm'|'RecurringPaymentTerm'|'RenewalTerm'|'SupportTerm'|'ValidityTerm'|'VariablePaymentTerm'|'NetPaymentTerm',
'currencyCode': 'string',
'rateCards': [
{
'selector': {
'type': 'Duration',
'value': 'string'
},
'constraints': {
'multipleDimensionSelection': 'Allowed'|'Disallowed',
'quantityConfiguration': 'Allowed'|'Disallowed'
},
'rateCard': [
{
'dimensionKey': 'string',
'displayName': 'string',
'description': 'string',
'dimensionLabels': [
{
'labelType': 'Region'|'SagemakerOption',
'labelValue': 'string',
'displayName': 'string'
},
],
'unit': 'string',
'price': 'string'
},
]
},
]
},
'fixedUpfrontPricingTerm': {
'id': 'string',
'type': 'ByolPricingTerm'|'ConfigurableUpfrontPricingTerm'|'FixedUpfrontPricingTerm'|'UsageBasedPricingTerm'|'FreeTrialPricingTerm'|'LegalTerm'|'PaymentScheduleTerm'|'RecurringPaymentTerm'|'RenewalTerm'|'SupportTerm'|'ValidityTerm'|'VariablePaymentTerm'|'NetPaymentTerm',
'currencyCode': 'string',
'duration': 'string',
'price': 'string',
'grants': [
{
'dimensionKey': 'string',
'displayName': 'string',
'description': 'string',
'dimensionLabels': [
{
'labelType': 'Region'|'SagemakerOption',
'labelValue': 'string',
'displayName': 'string'
},
],
'unit': 'string',
'maxQuantity': 123
},
]
},
'freeTrialPricingTerm': {
'id': 'string',
'type': 'ByolPricingTerm'|'ConfigurableUpfrontPricingTerm'|'FixedUpfrontPricingTerm'|'UsageBasedPricingTerm'|'FreeTrialPricingTerm'|'LegalTerm'|'PaymentScheduleTerm'|'RecurringPaymentTerm'|'RenewalTerm'|'SupportTerm'|'ValidityTerm'|'VariablePaymentTerm'|'NetPaymentTerm',
'duration': 'string',
'grants': [
{
'dimensionKey': 'string',
'displayName': 'string',
'description': 'string',
'dimensionLabels': [
{
'labelType': 'Region'|'SagemakerOption',
'labelValue': 'string',
'displayName': 'string'
},
],
'unit': 'string',
'maxQuantity': 123
},
]
},
'legalTerm': {
'id': 'string',
'type': 'ByolPricingTerm'|'ConfigurableUpfrontPricingTerm'|'FixedUpfrontPricingTerm'|'UsageBasedPricingTerm'|'FreeTrialPricingTerm'|'LegalTerm'|'PaymentScheduleTerm'|'RecurringPaymentTerm'|'RenewalTerm'|'SupportTerm'|'ValidityTerm'|'VariablePaymentTerm'|'NetPaymentTerm',
'documents': [
{
'type': 'CustomEula'|'CustomDsa'|'EnterpriseEula'|'StandardEula'|'StandardDsa',
'url': 'string',
'version': 'string'
},
]
},
'paymentScheduleTerm': {
'id': 'string',
'type': 'ByolPricingTerm'|'ConfigurableUpfrontPricingTerm'|'FixedUpfrontPricingTerm'|'UsageBasedPricingTerm'|'FreeTrialPricingTerm'|'LegalTerm'|'PaymentScheduleTerm'|'RecurringPaymentTerm'|'RenewalTerm'|'SupportTerm'|'ValidityTerm'|'VariablePaymentTerm'|'NetPaymentTerm',
'currencyCode': 'string',
'schedule': [
{
'chargeDate': datetime(2015, 1, 1),
'chargeAmount': 'string'
},
]
},
'recurringPaymentTerm': {
'id': 'string',
'type': 'ByolPricingTerm'|'ConfigurableUpfrontPricingTerm'|'FixedUpfrontPricingTerm'|'UsageBasedPricingTerm'|'FreeTrialPricingTerm'|'LegalTerm'|'PaymentScheduleTerm'|'RecurringPaymentTerm'|'RenewalTerm'|'SupportTerm'|'ValidityTerm'|'VariablePaymentTerm'|'NetPaymentTerm',
'currencyCode': 'string',
'billingPeriod': 'Monthly',
'price': 'string'
},
'renewalTerm': {
'id': 'string',
'type': 'ByolPricingTerm'|'ConfigurableUpfrontPricingTerm'|'FixedUpfrontPricingTerm'|'UsageBasedPricingTerm'|'FreeTrialPricingTerm'|'LegalTerm'|'PaymentScheduleTerm'|'RecurringPaymentTerm'|'RenewalTerm'|'SupportTerm'|'ValidityTerm'|'VariablePaymentTerm'|'NetPaymentTerm'
},
'supportTerm': {
'id': 'string',
'type': 'ByolPricingTerm'|'ConfigurableUpfrontPricingTerm'|'FixedUpfrontPricingTerm'|'UsageBasedPricingTerm'|'FreeTrialPricingTerm'|'LegalTerm'|'PaymentScheduleTerm'|'RecurringPaymentTerm'|'RenewalTerm'|'SupportTerm'|'ValidityTerm'|'VariablePaymentTerm'|'NetPaymentTerm',
'refundPolicy': 'string'
},
'usageBasedPricingTerm': {
'id': 'string',
'type': 'ByolPricingTerm'|'ConfigurableUpfrontPricingTerm'|'FixedUpfrontPricingTerm'|'UsageBasedPricingTerm'|'FreeTrialPricingTerm'|'LegalTerm'|'PaymentScheduleTerm'|'RecurringPaymentTerm'|'RenewalTerm'|'SupportTerm'|'ValidityTerm'|'VariablePaymentTerm'|'NetPaymentTerm',
'currencyCode': 'string',
'rateCards': [
{
'rateCard': [
{
'dimensionKey': 'string',
'displayName': 'string',
'description': 'string',
'dimensionLabels': [
{
'labelType': 'Region'|'SagemakerOption',
'labelValue': 'string',
'displayName': 'string'
},
],
'unit': 'string',
'price': 'string'
},
]
},
]
},
'validityTerm': {
'id': 'string',
'type': 'ByolPricingTerm'|'ConfigurableUpfrontPricingTerm'|'FixedUpfrontPricingTerm'|'UsageBasedPricingTerm'|'FreeTrialPricingTerm'|'LegalTerm'|'PaymentScheduleTerm'|'RecurringPaymentTerm'|'RenewalTerm'|'SupportTerm'|'ValidityTerm'|'VariablePaymentTerm'|'NetPaymentTerm',
'agreementDuration': 'string',
'agreementEndDate': datetime(2015, 1, 1),
'agreementStartDate': datetime(2015, 1, 1)
},
'variablePaymentTerm': {
'id': 'string',
'type': 'ByolPricingTerm'|'ConfigurableUpfrontPricingTerm'|'FixedUpfrontPricingTerm'|'UsageBasedPricingTerm'|'FreeTrialPricingTerm'|'LegalTerm'|'PaymentScheduleTerm'|'RecurringPaymentTerm'|'RenewalTerm'|'SupportTerm'|'ValidityTerm'|'VariablePaymentTerm'|'NetPaymentTerm',
'currencyCode': 'string',
'maxTotalChargeAmount': 'string'
},
'netPaymentTerm': {
'id': 'string',
'type': 'ByolPricingTerm'|'ConfigurableUpfrontPricingTerm'|'FixedUpfrontPricingTerm'|'UsageBasedPricingTerm'|'FreeTrialPricingTerm'|'LegalTerm'|'PaymentScheduleTerm'|'RecurringPaymentTerm'|'RenewalTerm'|'SupportTerm'|'ValidityTerm'|'VariablePaymentTerm'|'NetPaymentTerm',
'paymentDuePeriod': 'string'
}
},
],
'nextToken': 'string'
}
Response Structure
(dict) --
offerTerms (list) --
The terms attached to the offer. Each element contains exactly one term type.
(dict) --
A term attached to an offer. Each element contains exactly one term type, such as a pricing term, legal term, or payment schedule term.
byolPricingTerm (dict) --
Defines a Bring Your Own License (BYOL) pricing term, where buyers use their existing license for the product.
id (string) --
The unique identifier of the term.
type (string) --
The category of the term.
configurableUpfrontPricingTerm (dict) --
Defines a configurable upfront pricing term with selectable rate cards, where buyers choose from predefined pricing configurations.
id (string) --
The unique identifier of the term.
type (string) --
The category of the term.
currencyCode (string) --
Defines the currency for the prices in this term.
rateCards (list) --
The rate cards available for selection, each with a selector, constraints, and per-unit rates.
(dict) --
A rate card item within a configurable upfront pricing term, including a selector for choosing the configuration and per-unit rates.
selector (dict) --
The selector criteria for this rate card, such as duration.
type (string) --
The category of the selector, such as Duration.
value (string) --
The value of the selector.
constraints (dict) --
Constraints on how the buyer can configure this rate card, such as whether multiple dimensions can be selected.
multipleDimensionSelection (string) --
Whether the buyer can select multiple dimensions. Values are Allowed or Disallowed.
quantityConfiguration (string) --
Whether the buyer can configure quantities. Values are Allowed or Disallowed.
rateCard (list) --
The per-unit rates for this configuration.
(dict) --
A per-unit rate within a rate card, defining the price for a specific dimension.
dimensionKey (string) --
The machine-readable key identifying the dimension being priced.
displayName (string) --
The human-readable name of the dimension.
description (string) --
A description of the dimension being priced.
dimensionLabels (list) --
Labels used to categorize this dimension, such as by region.
(dict) --
A label used to group or categorize pricing dimensions, such as by region or SageMaker option.
labelType (string) --
The type of the dimension label, such as Region or SagemakerOption.
labelValue (string) --
The value used to group dimensions together.
displayName (string) --
The human-readable display name of the label.
unit (string) --
The unit of measurement for the dimension.
price (string) --
The price per unit for the dimension.
fixedUpfrontPricingTerm (dict) --
Defines a fixed upfront pricing term with a pre-paid amount and granted entitlements.
id (string) --
The unique identifier of the term.
type (string) --
The category of the term.
currencyCode (string) --
Defines the currency for the prices in this term.
duration (string) --
The duration of the fixed pricing term, in ISO 8601 format.
price (string) --
The price charged upfront for this term.
grants (list) --
The entitlements granted to the buyer as part of this term.
(dict) --
An entitlement granted to the buyer as part of a pricing term.
dimensionKey (string) --
The machine-readable key identifying the entitlement dimension.
displayName (string) --
The human-readable name of the entitlement dimension.
description (string) --
A description of the entitlement.
dimensionLabels (list) --
Labels used to categorize this entitlement, such as by region.
(dict) --
A label used to group or categorize pricing dimensions, such as by region or SageMaker option.
labelType (string) --
The type of the dimension label, such as Region or SagemakerOption.
labelValue (string) --
The value used to group dimensions together.
displayName (string) --
The human-readable display name of the label.
unit (string) --
The unit of measurement for the entitlement.
maxQuantity (integer) --
The maximum quantity of the entitlement that can be granted.
freeTrialPricingTerm (dict) --
Defines a free trial pricing term that enables customers to try the product before purchasing.
id (string) --
The unique identifier of the term.
type (string) --
The category of the term.
duration (string) --
The duration of the free trial period.
grants (list) --
The entitlements granted to the buyer during the free trial.
(dict) --
An entitlement granted to the buyer as part of a pricing term.
dimensionKey (string) --
The machine-readable key identifying the entitlement dimension.
displayName (string) --
The human-readable name of the entitlement dimension.
description (string) --
A description of the entitlement.
dimensionLabels (list) --
Labels used to categorize this entitlement, such as by region.
(dict) --
A label used to group or categorize pricing dimensions, such as by region or SageMaker option.
labelType (string) --
The type of the dimension label, such as Region or SagemakerOption.
labelValue (string) --
The value used to group dimensions together.
displayName (string) --
The human-readable display name of the label.
unit (string) --
The unit of measurement for the entitlement.
maxQuantity (integer) --
The maximum quantity of the entitlement that can be granted.
legalTerm (dict) --
Defines a legal term containing documents proposed to buyers, such as EULAs and data subscription agreements.
id (string) --
The unique identifier of the term.
type (string) --
The category of the term.
documents (list) --
The legal documents proposed to the buyer as part of this term.
(dict) --
A legal document associated with a legal term, such as a EULA or data subscription agreement.
type (string) --
The category of the legal document, such as StandardEula or CustomEula.
url (string) --
The URL where the legal document can be accessed.
version (string) --
The version of the standard contract, if applicable.
paymentScheduleTerm (dict) --
Defines a payment schedule term with installment payments at specified dates.
id (string) --
The unique identifier of the term.
type (string) --
The category of the term.
currencyCode (string) --
Defines the currency for the prices in this term.
schedule (list) --
The payment schedule installments, each with a charge date and amount.
(dict) --
A payment installment within a payment schedule term.
chargeDate (datetime) --
The date when the payment is due.
chargeAmount (string) --
The amount to be charged on the charge date.
recurringPaymentTerm (dict) --
Defines a recurring payment term with fixed charges at regular billing intervals.
id (string) --
The unique identifier of the term.
type (string) --
The category of the term.
currencyCode (string) --
Defines the currency for the prices in this term.
billingPeriod (string) --
The billing period frequency, such as Monthly.
price (string) --
The amount charged each billing period.
renewalTerm (dict) --
Defines a renewal term that enables automatic agreement renewal.
id (string) --
The unique identifier of the term.
type (string) --
The category of the term.
supportTerm (dict) --
Defines a support term that includes the refund policy for the offer.
id (string) --
The unique identifier of the term.
type (string) --
The category of the term.
refundPolicy (string) --
The refund policy description for the offer.
usageBasedPricingTerm (dict) --
Defines a usage-based pricing term (typically pay-as-you-go), where buyers are charged based on product usage.
id (string) --
The unique identifier of the term.
type (string) --
The category of the term.
currencyCode (string) --
Defines the currency for the prices in this term.
rateCards (list) --
The rate cards containing per-unit rates for usage-based pricing.
(dict) --
A rate card within a usage-based pricing term, containing per-unit rates.
rateCard (list) --
The per-unit rates for this usage-based rate card.
(dict) --
A per-unit rate within a rate card, defining the price for a specific dimension.
dimensionKey (string) --
The machine-readable key identifying the dimension being priced.
displayName (string) --
The human-readable name of the dimension.
description (string) --
A description of the dimension being priced.
dimensionLabels (list) --
Labels used to categorize this dimension, such as by region.
(dict) --
A label used to group or categorize pricing dimensions, such as by region or SageMaker option.
labelType (string) --
The type of the dimension label, such as Region or SagemakerOption.
labelValue (string) --
The value used to group dimensions together.
displayName (string) --
The human-readable display name of the label.
unit (string) --
The unit of measurement for the dimension.
price (string) --
The price per unit for the dimension.
validityTerm (dict) --
Defines a validity term that specifies the duration or date range of an agreement.
id (string) --
The unique identifier of the term.
type (string) --
The category of the term.
agreementDuration (string) --
The duration of the agreement, in ISO 8601 format.
agreementEndDate (datetime) --
The date when the agreement ends.
agreementStartDate (datetime) --
The date when the agreement starts.
variablePaymentTerm (dict) --
Defines a variable payment term with a maximum total charge amount.
id (string) --
The unique identifier of the term.
type (string) --
The category of the term.
currencyCode (string) --
Defines the currency for the prices in this term.
maxTotalChargeAmount (string) --
The maximum total amount that can be charged under this term.
netPaymentTerm (dict) --
A net payment term.
id (string) --
The unique identifier of the term.
type (string) --
The category of the term.
paymentDuePeriod (string) --
The duration after invoice date by which payment is due.
nextToken (string) --
If nextToken is returned, there are more results available. Make the call again using the returned token to retrieve the next page.