2026/11/10 - AWS Marketplace Agreement Service - 2 updated api methods
Changes This release adds the freeTrialSummary.trialEndTime field to DescribeAgreement and the freeTrialEndTime field to SearchAgreements results, so you can see when an agreement's free trial ends.
{'freeTrialSummary': {'trialEndTime': 'timestamp'}}
Provides details about an agreement, such as the proposer, acceptor, start date, and end date.
See also: AWS API Documentation
Request Syntax
client.describe_agreement(
agreementId='string'
)
string
[REQUIRED]
The unique identifier of the agreement.
dict
Response Syntax
{
'agreementId': 'string',
'acceptor': {
'accountId': 'string'
},
'proposer': {
'accountId': 'string'
},
'startTime': datetime(2015, 1, 1),
'endTime': datetime(2015, 1, 1),
'acceptanceTime': datetime(2015, 1, 1),
'agreementType': 'string',
'estimatedCharges': {
'currencyCode': 'string',
'agreementValue': 'string'
},
'proposalSummary': {
'resources': [
{
'id': 'string',
'type': 'string'
},
],
'offerId': 'string',
'offerSetId': 'string'
},
'status': 'ACTIVE'|'ARCHIVED'|'CANCELLED'|'EXPIRED'|'RENEWED'|'REPLACED'|'ROLLED_BACK'|'SUPERSEDED'|'TERMINATED',
'initialAgreementId': 'string',
'endTimeBehavior': {
'type': 'RENEW'|'REPLACE'|'EXPIRE',
'reasonCode': 'PROPOSER_RENEW_OPTED_OUT'|'ACCEPTOR_RENEW_OPTED_OUT'|'NO_RENEWAL_TERM'|'RENEWAL_LIMIT_EXHAUSTED',
'renewalSummary': {
'offerId': 'string'
}
},
'freeTrialSummary': {
'trialEndTime': datetime(2015, 1, 1)
}
}
Response Structure
(dict) --
agreementId (string) --
The unique identifier of the agreement.
acceptor (dict) --
The details of the party accepting the agreement terms. This is commonly the buyer for PurchaseAgreement.
accountId (string) --
The AWS account ID of the acceptor.
proposer (dict) --
The details of the party proposing the agreement terms. This is commonly the seller for PurchaseAgreement.
accountId (string) --
The AWS account ID of the proposer.
startTime (datetime) --
The date and time when the agreement starts.
endTime (datetime) --
The date and time when the agreement ends. The field is null for pay-as-you-go agreements, which don’t have end dates.
acceptanceTime (datetime) --
The date and time the offer was accepted or the agreement was created.
agreementType (string) --
The type of agreement. Values are PurchaseAgreement or VendorInsightsAgreement.
estimatedCharges (dict) --
The estimated cost of the agreement.
currencyCode (string) --
Defines the currency code for the charge.
agreementValue (string) --
The total known amount customer has to pay across the lifecycle of the agreement.
proposalSummary (dict) --
A summary of the proposal received from the proposer.
resources (list) --
The list of resources involved in the agreement.
(dict) --
The list of resources involved in the agreement.
id (string) --
The unique identifier of the resource.
type (string) --
Type of the resource, which is the product (for example, SaaSProduct, AmiProduct, ContainerProduct).
offerId (string) --
The unique identifier of the offer in AWS Marketplace.
offerSetId (string) --
A unique identifier for the offer set containing this offer. All agreements created from offers in this set include this identifier as context.
status (string) --
The current status of the agreement.
Statuses include:
ACTIVE – The terms of the agreement are active.
CANCELLED – The acceptor ended the agreement before the defined end date.
EXPIRED – The agreement ended on the defined end date.
RENEWED – The agreement was renewed into a new agreement (for example, an auto-renewal).
REPLACED – The agreement was replaced using an agreement replacement offer.
TERMINATED – The agreement ended before the defined end date because of an AWS termination (for example, a payment failure).
initialAgreementId (string) --
The unique identifier of the very first agreement in a chain of related agreements, such as renewals or replacements. It stays the same across all agreements in that chain, which lets you trace an agreement back to the original. When an agreement isn't derived from another agreement, its InitialAgreementId is its own AgreementId.
endTimeBehavior (dict) --
The behavior of the agreement when it reaches its end date. For example, whether the agreement renews, and if it doesn't, the reason why.
This field is present for every active agreement that has an end date. It is not present for an agreement that has no end date, because such an agreement never reaches an end time. Pay-as-you-go agreements are the most common example. It is also not present for an agreement that is no longer active.
type (string) --
The behavior of the agreement when it reaches its end date.
Types include:
RENEW – A new agreement is created from the accepted terms of this agreement.
REPLACE – A new agreement is created from a different offer than the one this agreement was created from. This happens, for example, when a private offer reaches its end date and the acceptor transitions to the public offer for the product.
EXPIRE – The agreement ends and isn't renewed or replaced.
reasonCode (string) --
The reason why the agreement doesn't renew at its end date. The field is null when the agreement renews.
More than one reason can apply to the same agreement. When that happens, the operation returns only one reason code, and PROPOSER_RENEW_OPTED_OUT takes precedence over all others.
The EnableAutoRenew field reflects only the acceptor's preference, and doesn't reflect the other reasons an agreement might not renew.
Reason codes include:
PROPOSER_RENEW_OPTED_OUT – The proposer opted out of renewing the agreement.
ACCEPTOR_RENEW_OPTED_OUT – The acceptor opted out of renewing the agreement.
NO_RENEWAL_TERM – The accepted terms of the agreement don't include a renewal term, which is required for an agreement to renew.
RENEWAL_LIMIT_EXHAUSTED – The agreement reached the maximum number of renewals allowed by its renewal term.
renewalSummary (dict) --
The details of the renewal that applies at the end date of the agreement. This field is present when Type is RENEW. It is also present when ReasonCode is PROPOSER_RENEW_OPTED_OUT or ACCEPTOR_RENEW_OPTED_OUT. In those cases, it identifies the offer that the agreement would otherwise have renewed from. The field is null in all other cases.
offerId (string) --
The unique identifier of the offer that provides the terms for the next renewal cycle. For most renewals, this is the same offer that the agreement was created from.
freeTrialSummary (dict) --
The free trial details of the agreement. This field is present only when the agreement includes a free trial.
trialEndTime (datetime) --
The date and time when the free trial ends. For an agreement that includes both a free trial and usage-based pricing, the agreement converts to paid usage at this time.
{'agreementViewSummaries': {'freeTrialEndTime': 'timestamp'}}
Searches across all agreements that a proposer or an acceptor has in AWS Marketplace. The search returns a list of agreements with basic agreement information.
See also: AWS API Documentation
Request Syntax
client.search_agreements(
catalog='string',
filters=[
{
'name': 'string',
'values': [
'string',
]
},
],
sort={
'sortBy': 'string',
'sortOrder': 'ASCENDING'|'DESCENDING'
},
maxResults=123,
nextToken='string'
)
string
The catalog in which the agreement was created.
list
The filter name and value pair used to return a specific list of results.
The following filters are supported:
ResourceIdentifier – The unique identifier of the resource.
ResourceType – Type of the resource, which is the product ( AmiProduct, ContainerProduct, SaaSProduct, ProfessionalServicesProduct, or MachineLearningProduct).
PartyType – The party type of the caller. Use Proposer or Acceptor.
AcceptorAccountId – The AWS account ID of the party accepting the agreement terms.
OfferId – The unique identifier of the offer in which the terms are registered in the agreement token.
Status – The current status of the agreement. Values include ACTIVE, CANCELLED, EXPIRED, RENEWED, REPLACED, and TERMINATED.
BeforeEndTime – A date used to filter agreements with a date before the endTime of an agreement.
AfterEndTime – A date used to filter agreements with a date after the endTime of an agreement.
BeforeStartTime – A date used to filter agreements with a date before the startTime of an agreement.
AfterStartTime – A date used to filter agreements with a date after the startTime of an agreement.
BeforeLastUpdateTime – A date used to filter agreements with a date before the lastUpdateTime of an agreement.
AfterLastUpdateTime – A date used to filter agreements with a date after the lastUpdateTime of an agreement.
AgreementType – The type of agreement. Supported value includes PurchaseAgreement.
OfferSetId – A unique identifier for the offer set containing this offer. All agreements created from offers in this set include this identifier as context.
EndTimeBehaviorType – What happens to the agreement when it reaches its end date. Values include RENEW, REPLACE, and EXPIRE.
EndTimeBehaviorReasonCode – The reason why the agreement doesn't renew at its end date. Values include PROPOSER_RENEW_OPTED_OUT, ACCEPTOR_RENEW_OPTED_OUT, NO_RENEWAL_TERM, and RENEWAL_LIMIT_EXHAUSTED.
InitialAgreementId – The unique identifier of the very first agreement in a chain of related agreements. Use this filter to return every agreement in the same chain.
LicenseArn – The Amazon Resource Name (ARN) of the AWS License Manager license associated with an entitlement granted by the agreement.
A proposer can use any combination of the preceding filters along with AgreementType, which is required.
The following filter combinations are supported when the PartyType is Acceptor:
AgreementType
AgreementType + Status
AgreementType + EndTime
AgreementType + Status + EndTime
AgreementType + ResourceIdentifier
AgreementType + ResourceIdentifier + EndTime
AgreementType + ResourceIdentifier + Status
AgreementType + ResourceIdentifier + Status + EndTime
AgreementType + ResourceType
AgreementType + ResourceType + EndTime
AgreementType + OfferId
AgreementType + OfferId + EndTime
AgreementType + OfferId + Status
AgreementType + OfferId + Status + EndTime
AgreementType + OfferSetId
AgreementType + OfferSetId + EndTime
AgreementType + OfferSetId + Status
AgreementType + OfferSetId + Status + EndTime
(dict) --
The filter name and value pair that is used to return a more specific list of results. Filters can be used to match a set of resources by various criteria, such as offerId or productId.
name (string) --
The name of the filter.
values (list) --
The filter value.
(string) --
dict
An object that contains the SortBy and SortOrder attributes. For SearchAgreements, SortBy supports EndTime for both party types, and StartTime and LastUpdateTime only when PartyType is Proposer. The default SortBy value is EndTime.
sortBy (string) --
The attribute on which the data is grouped, which can be EndTime, StartTime, or LastUpdateTime. StartTime and LastUpdateTime are supported only when PartyType is Proposer. The default value is EndTime.
sortOrder (string) --
The sorting order, which can be ASCENDING or DESCENDING. The default value is ASCENDING.
integer
The maximum number of agreements to return in the response.
string
A token to specify where to start pagination.
dict
Response Syntax
{
'agreementViewSummaries': [
{
'agreementId': 'string',
'acceptanceTime': datetime(2015, 1, 1),
'startTime': datetime(2015, 1, 1),
'endTime': datetime(2015, 1, 1),
'lastUpdateTime': datetime(2015, 1, 1),
'agreementType': 'string',
'acceptor': {
'accountId': 'string'
},
'proposer': {
'accountId': 'string'
},
'proposalSummary': {
'resources': [
{
'id': 'string',
'type': 'string'
},
],
'offerId': 'string',
'offerSetId': 'string'
},
'status': 'ACTIVE'|'ARCHIVED'|'CANCELLED'|'EXPIRED'|'RENEWED'|'REPLACED'|'ROLLED_BACK'|'SUPERSEDED'|'TERMINATED',
'entitlements': [
{
'licenseArn': 'string'
},
],
'initialAgreementId': 'string',
'endTimeBehaviorType': 'RENEW'|'REPLACE'|'EXPIRE',
'endTimeBehaviorReasonCode': 'PROPOSER_RENEW_OPTED_OUT'|'ACCEPTOR_RENEW_OPTED_OUT'|'NO_RENEWAL_TERM'|'RENEWAL_LIMIT_EXHAUSTED',
'freeTrialEndTime': datetime(2015, 1, 1)
},
],
'nextToken': 'string'
}
Response Structure
(dict) --
agreementViewSummaries (list) --
A summary of the agreement, including top-level attributes (for example, the agreement ID, proposer, and acceptor).
(dict) --
A summary of the agreement, including top-level attributes (for example, the agreement ID, proposer, and acceptor).
agreementId (string) --
The unique identifier of the agreement.
acceptanceTime (datetime) --
The date and time that the agreement was accepted.
startTime (datetime) --
The date and time when the agreement starts.
endTime (datetime) --
The date and time when the agreement ends. The field is null for pay-as-you-go agreements, which don’t have end dates.
lastUpdateTime (datetime) --
The date and time when the agreement was last updated. An agreement is updated when any of its attributes or accepted terms change. Amendments, renewals, and a party changing whether the agreement renews are all examples.
Use the BeforeLastUpdateTime and AfterLastUpdateTime filters to search on this value, and LastUpdateTime as the SortBy value to sort by it. Sorting by LastUpdateTime is supported only when PartyType is Proposer.
agreementType (string) --
The type of agreement.
acceptor (dict) --
Details of the party accepting the agreement terms. This is commonly the buyer for PurchaseAgreement.
accountId (string) --
The AWS account ID of the acceptor.
proposer (dict) --
Details of the party proposing the agreement terms, most commonly the seller for PurchaseAgreement.
accountId (string) --
The AWS account ID of the proposer.
proposalSummary (dict) --
A summary of the proposal
resources (list) --
The list of resources involved in the agreement.
(dict) --
The list of resources involved in the agreement.
id (string) --
The unique identifier of the resource.
type (string) --
Type of the resource, which is the product (for example, SaaSProduct, AmiProduct, ContainerProduct).
offerId (string) --
The unique identifier of the offer in AWS Marketplace.
offerSetId (string) --
A unique identifier for the offer set containing this offer. All agreements created from offers in this set include this identifier as context.
status (string) --
The current status of the agreement.
entitlements (list) --
A list of entitlements associated with the agreement.
(dict) --
Represents an entitlement associated with an agreement.
licenseArn (string) --
The Amazon Resource Name (ARN) of the AWS License Manager license associated with the entitlement.
initialAgreementId (string) --
The unique identifier of the very first agreement in a chain of related agreements, such as renewals or replacements. It stays the same across all agreements in that chain, which lets you trace an agreement back to the original. You can also use it as the InitialAgreementId filter value to return every agreement in the same chain.
endTimeBehaviorType (string) --
The behavior of the agreement when it reaches its end date. The field is null for agreements that have no end date, because those agreements never reach an end time.
Types include:
RENEW – A new agreement is created from the accepted terms of this agreement.
REPLACE – A new agreement is created from a different offer than the one this agreement was created from. This happens, for example, when a private offer reaches its end date and the acceptor transitions to the public offer for the product.
EXPIRE – The agreement ends and isn't renewed or replaced.
endTimeBehaviorReasonCode (string) --
The reason why the agreement doesn't renew at its end date. The field is null when the agreement renews.
More than one reason can apply to the same agreement. When that happens, the operation returns only one reason code, and PROPOSER_RENEW_OPTED_OUT takes precedence over all others.
The EnableAutoRenew field reflects only the acceptor's preference, and doesn't reflect the other reasons an agreement might not renew.
Reason codes include:
PROPOSER_RENEW_OPTED_OUT – The proposer opted out of renewing the agreement.
ACCEPTOR_RENEW_OPTED_OUT – The acceptor opted out of renewing the agreement.
NO_RENEWAL_TERM – The accepted terms of the agreement don't include a renewal term, which is required for an agreement to renew.
RENEWAL_LIMIT_EXHAUSTED – The agreement reached the maximum number of renewals allowed by its renewal term.
freeTrialEndTime (datetime) --
The date and time when the free trial of the agreement ends. This field is present only when the agreement includes a free trial.
For an agreement that includes both a free trial and usage-based pricing, the agreement converts to paid usage at this time.
nextToken (string) --
The token used for pagination. The field is null if there are no more results.