AWS Marketplace Agreement Service 2020-03-01
- Client: Aws\MarketplaceAgreement\MarketplaceAgreementClient
- Service ID: marketplace-agreement
- Version: 2020-03-01
This page describes the parameters and results for the operations of the AWS Marketplace Agreement Service (2020-03-01), and shows how to use the Aws\MarketplaceAgreement\MarketplaceAgreementClient object to call the described operations. This documentation is specific to the 2020-03-01 API version of the service.
Operation Summary
Each of the following operations can be created from a client using
$client->getCommand('CommandName'), where "CommandName" is the
name of one of the following operations. Note: a command is a value that
encapsulates an operation and the parameters used to create an HTTP request.
You can also create and send a command immediately using the magic methods
available on a client object: $client->commandName(/* parameters */).
You can send the command asynchronously (returning a promise) by appending the
word "Async" to the operation name: $client->commandNameAsync(/* parameters */).
- AcceptAgreementCancellationRequest ( array $params = [] )
- Allows buyers (acceptors) to accept a cancellation request that is in PENDING_APPROVAL status.
- AcceptAgreementPaymentRequest ( array $params = [] )
- Allows buyers (acceptors) to accept a payment request that is in PENDING_APPROVAL status.
- AcceptAgreementRequest ( array $params = [] )
- Accepts an agreement request to finalize the agreement.
- BatchCreateBillingAdjustmentRequest ( array $params = [] )
- Allows sellers (proposers) to submit billing adjustment requests for one or more invoices within an agreement.
- CancelAgreement ( array $params = [] )
- Allows an acceptor to cancel an active agreement.
- CancelAgreementCancellationRequest ( array $params = [] )
- Allows sellers (proposers) to withdraw an existing agreement cancellation request that is in a pending state.
- CancelAgreementPaymentRequest ( array $params = [] )
- Allows sellers (proposers) to cancel a payment request that is in PENDING_APPROVAL status.
- CreateAgreementRequest ( array $params = [] )
- Creates an agreement request that acts as a quote for the terms you want to accept.
- DescribeAgreement ( array $params = [] )
- Provides details about an agreement, such as the proposer, acceptor, start date, and end date.
- GetAgreementCancellationRequest ( array $params = [] )
- Retrieves detailed information about a specific agreement cancellation request.
- GetAgreementEntitlements ( array $params = [] )
- Obtains details about the entitlements of an agreement.
- GetAgreementPaymentRequest ( array $params = [] )
- Retrieves detailed information about a specific payment request.
- GetAgreementTerms ( array $params = [] )
- Obtains details about the terms in an agreement that you participated in as proposer or acceptor.
- GetBillingAdjustmentRequest ( array $params = [] )
- Retrieves detailed information about a specific billing adjustment request.
- ListAgreementCancellationRequests ( array $params = [] )
- Lists agreement cancellation requests available to you as a seller or buyer.
- ListAgreementCharges ( array $params = [] )
- Allows acceptors to view charges and purchase orders that are associated with an agreement.
- ListAgreementInvoiceLineItems ( array $params = [] )
- Allows sellers (proposers) to retrieve aggregated billing data from AWS Marketplace agreements using flexible grouping.
- ListAgreementPaymentRequests ( array $params = [] )
- Lists payment requests available to you as a seller or buyer.
- ListBillingAdjustmentRequests ( array $params = [] )
- Lists billing adjustment requests for a specific agreement.
- RejectAgreementCancellationRequest ( array $params = [] )
- Allows buyers (acceptors) to reject a cancellation request that is in PENDING_APPROVAL status.
- RejectAgreementPaymentRequest ( array $params = [] )
- Allows buyers (acceptors) to reject a payment request that is in PENDING_APPROVAL status.
- SearchAgreements ( array $params = [] )
- Searches across all agreements that a proposer or an acceptor has in AWS Marketplace.
- SendAgreementCancellationRequest ( array $params = [] )
- Allows sellers (proposers) to submit a cancellation request for an active agreement.
- SendAgreementPaymentRequest ( array $params = [] )
- Allows sellers (proposers) to submit a payment request to buyers (acceptors) for a specific charge amount for an agreement that includes a VariablePaymentTerm.
- UpdatePurchaseOrders ( array $params = [] )
- Allows acceptors to associate purchase orders with agreement charges after an agreement is created.
Paginators
Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:
- GetAgreementEntitlements
- GetAgreementTerms
- ListAgreementCancellationRequests
- ListAgreementCharges
- ListAgreementInvoiceLineItems
- ListAgreementPaymentRequests
- ListBillingAdjustmentRequests
- SearchAgreements
Operations
AcceptAgreementCancellationRequest
$result = $client->acceptAgreementCancellationRequest([/* ... */]); $promise = $client->acceptAgreementCancellationRequestAsync([/* ... */]);
Allows buyers (acceptors) to accept a cancellation request that is in PENDING_APPROVAL status. Once accepted, the cancellation request transitions to APPROVED status and the agreement cancellation will be processed.
Only cancellation requests in PENDING_APPROVAL status can be accepted. A ConflictException is thrown if the cancellation request is in any other status.
Parameter Syntax
$result = $client->acceptAgreementCancellationRequest([
'agreementCancellationRequestId' => '<string>', // REQUIRED
'agreementId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- agreementCancellationRequestId
-
- Required: Yes
- Type: string
The unique identifier of the cancellation request to accept.
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement associated with the cancellation request.
Result Syntax
[
'agreementCancellationRequestId' => '<string>',
'agreementId' => '<string>',
'createdAt' => <DateTime>,
'description' => '<string>',
'reasonCode' => 'INCORRECT_TERMS_ACCEPTED|REPLACING_AGREEMENT|TEST_AGREEMENT|ALTERNATIVE_PROCUREMENT_CHANNEL|PRODUCT_DISCONTINUED|UNINTENDED_RENEWAL|BUYER_DISSATISFACTION|OTHER',
'status' => 'PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED|VALIDATION_FAILED',
'updatedAt' => <DateTime>,
]
Result Details
Members
- agreementCancellationRequestId
-
- Type: string
The unique identifier of the accepted cancellation request.
- agreementId
-
- Type: string
The unique identifier of the agreement associated with this cancellation request.
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the cancellation request was originally created.
- description
-
- Type: string
The detailed description of the cancellation reason, if provided.
- reasonCode
-
- Type: string
The original reason code provided when the cancellation request was created.
- status
-
- Type: string
The updated status of the cancellation request, which is
APPROVED. - updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the cancellation request was accepted.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
- ConflictException:
Request was denied due to a resource conflict.
AcceptAgreementPaymentRequest
$result = $client->acceptAgreementPaymentRequest([/* ... */]); $promise = $client->acceptAgreementPaymentRequestAsync([/* ... */]);
Allows buyers (acceptors) to accept a payment request that is in PENDING_APPROVAL status. Once accepted, the payment request transitions to APPROVED status and the charge will be processed. Buyers can optionally provide a purchase order reference for their internal tracking.
Only payment requests in PENDING_APPROVAL status can be accepted. A ConflictException is thrown if the payment request is in any other status.
Parameter Syntax
$result = $client->acceptAgreementPaymentRequest([
'agreementId' => '<string>', // REQUIRED
'paymentRequestId' => '<string>', // REQUIRED
'purchaseOrderReference' => '<string>',
]);
Parameter Details
Members
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement associated with the payment request.
- paymentRequestId
-
- Required: Yes
- Type: string
The unique identifier of the payment request to accept.
- purchaseOrderReference
-
- Type: string
An optional purchase order reference that buyers can provide to associate the payment request with their internal purchase order system.
Result Syntax
[
'agreementId' => '<string>',
'chargeAmount' => '<string>',
'createdAt' => <DateTime>,
'currencyCode' => '<string>',
'description' => '<string>',
'name' => '<string>',
'paymentRequestId' => '<string>',
'status' => 'VALIDATING|VALIDATION_FAILED|PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED',
'updatedAt' => <DateTime>,
]
Result Details
Members
- agreementId
-
- Type: string
The unique identifier of the agreement associated with this payment request.
- chargeAmount
-
- Type: string
The amount that was approved to be charged.
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the payment request was originally created.
- currencyCode
-
- Type: string
The currency code for the charge amount.
- description
-
- Type: string
The detailed description of the payment request, if provided.
- name
-
- Type: string
The descriptive name of the payment request.
- paymentRequestId
-
- Type: string
The unique identifier of the accepted payment request.
- status
-
- Type: string
The updated status of the payment request, which is
APPROVED. - updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the payment request was accepted.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
- ConflictException:
Request was denied due to a resource conflict.
AcceptAgreementRequest
$result = $client->acceptAgreementRequest([/* ... */]); $promise = $client->acceptAgreementRequestAsync([/* ... */]);
Accepts an agreement request to finalize the agreement. The acceptor can optionally provide purchase orders to associate with the agreement charges.
Parameter Syntax
$result = $client->acceptAgreementRequest([
'agreementRequestId' => '<string>', // REQUIRED
'purchaseOrders' => [
[
'agreementId' => '<string>',
'chargeId' => '<string>', // REQUIRED
'chargeRevision' => <integer>,
'purchaseOrderReference' => '<string>',
],
// ...
],
]);
Parameter Details
Members
- agreementRequestId
-
- Required: Yes
- Type: string
The unique identifier of the agreement request.
- purchaseOrders
-
- Type: Array of PurchaseOrder structures
A list of purchase orders associated with accepting a marketplace agreement request.
Result Syntax
[
'agreementId' => '<string>',
]
Result Details
Members
- agreementId
-
- Type: string
The unique identifier of the agreement created or modified by accepting the agreement request.
Errors
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
- ConflictException:
Request was denied due to a resource conflict.
BatchCreateBillingAdjustmentRequest
$result = $client->batchCreateBillingAdjustmentRequest([/* ... */]); $promise = $client->batchCreateBillingAdjustmentRequestAsync([/* ... */]);
Allows sellers (proposers) to submit billing adjustment requests for one or more invoices within an agreement. Each entry in the batch specifies an invoice and the adjustment amount. The operation returns successfully created adjustment request IDs and any errors for entries that failed to process.
Each entry requires a unique clientToken for idempotency.
Parameter Syntax
$result = $client->batchCreateBillingAdjustmentRequest([
'billingAdjustmentRequestEntries' => [ // REQUIRED
[
'adjustmentAmount' => '<string>', // REQUIRED
'adjustmentReasonCode' => 'INCORRECT_TERMS_ACCEPTED|INCORRECT_METERING|TEST_ENVIRONMENT_CHARGES|ALTERNATIVE_PROCUREMENT_CHANNEL|UNINTENDED_RENEWAL|BUYER_DISSATISFACTION|OTHER', // REQUIRED
'agreementId' => '<string>', // REQUIRED
'clientToken' => '<string>', // REQUIRED
'currencyCode' => '<string>', // REQUIRED
'description' => '<string>',
'originalInvoiceId' => '<string>', // REQUIRED
],
// ...
],
]);
Parameter Details
Members
- billingAdjustmentRequestEntries
-
- Required: Yes
- Type: Array of BatchCreateBillingAdjustmentRequestEntry structures
A list of billing adjustment request entries. Each entry specifies the invoice and adjustment details.
Result Syntax
[
'errors' => [
[
'clientToken' => '<string>',
'code' => 'CONFLICT_EXCEPTION|VALIDATION_EXCEPTION|RESOURCE_NOT_FOUND_EXCEPTION|INTERNAL_FAILURE',
'message' => '<string>',
],
// ...
],
'items' => [
[
'billingAdjustmentRequestId' => '<string>',
'clientToken' => '<string>',
],
// ...
],
]
Result Details
Members
- errors
-
- Required: Yes
- Type: Array of BatchCreateBillingAdjustmentError structures
A list of errors for entries that failed validation, each containing the
clientToken, errorcode, andmessage. - items
-
- Required: Yes
- Type: Array of BatchCreateBillingAdjustmentItem structures
A list of successfully created billing adjustment items, each containing the
billingAdjustmentRequestIdandclientToken.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
- ConflictException:
Request was denied due to a resource conflict.
Examples
Example 1: Create billing adjustment requests
$result = $client->batchCreateBillingAdjustmentRequest([
'billingAdjustmentRequestEntries' => [
[
'adjustmentAmount' => '500.00',
'adjustmentReasonCode' => 'OTHER',
'agreementId' => 'agmt-SvIzsqYMyQwI3GWgJAe17URx',
'clientToken' => '71a5e82e-a49b-4075-8c7f-52df1d294379',
'currencyCode' => 'USD',
'description' => 'Customer requested adjustment due to service outage during critical business period.',
'originalInvoiceId' => 'E2E20230929a108cfae',
],
],
]);
Result syntax:
[
'errors' => [
],
'items' => [
[
'billingAdjustmentRequestId' => 'ba-1a2b3c4d5e6f7g',
'clientToken' => '71a5e82e-a49b-4075-8c7f-52df1d294379',
],
],
]
CancelAgreement
$result = $client->cancelAgreement([/* ... */]); $promise = $client->cancelAgreementAsync([/* ... */]);
Allows an acceptor to cancel an active agreement. Not all agreements are eligible for cancellation. Use the error response to determine why a cancellation request was rejected.
Parameter Syntax
$result = $client->cancelAgreement([
'agreementId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement.
Result Syntax
[]
Result Details
Errors
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
- ConflictException:
Request was denied due to a resource conflict.
CancelAgreementCancellationRequest
$result = $client->cancelAgreementCancellationRequest([/* ... */]); $promise = $client->cancelAgreementCancellationRequestAsync([/* ... */]);
Allows sellers (proposers) to withdraw an existing agreement cancellation request that is in a pending state. Once cancelled, the cancellation request transitions to CANCELLED status and can no longer be approved or rejected by the buyer.
Only cancellation requests in PENDING_APPROVAL status can be cancelled. A ConflictException is thrown if the cancellation request is in any other status.
Parameter Syntax
$result = $client->cancelAgreementCancellationRequest([
'agreementCancellationRequestId' => '<string>', // REQUIRED
'agreementId' => '<string>', // REQUIRED
'cancellationReason' => '<string>', // REQUIRED
]);
Parameter Details
Members
- agreementCancellationRequestId
-
- Required: Yes
- Type: string
The unique identifier of the cancellation request to cancel.
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement associated with the cancellation request.
- cancellationReason
-
- Required: Yes
- Type: string
A required message explaining why the cancellation request is being withdrawn (1-2000 characters).
Result Syntax
[
'agreementCancellationRequestId' => '<string>',
'agreementId' => '<string>',
'createdAt' => <DateTime>,
'description' => '<string>',
'reasonCode' => 'INCORRECT_TERMS_ACCEPTED|REPLACING_AGREEMENT|TEST_AGREEMENT|ALTERNATIVE_PROCUREMENT_CHANNEL|PRODUCT_DISCONTINUED|UNINTENDED_RENEWAL|BUYER_DISSATISFACTION|OTHER',
'status' => 'PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED|VALIDATION_FAILED',
'statusMessage' => '<string>',
'updatedAt' => <DateTime>,
]
Result Details
Members
- agreementCancellationRequestId
-
- Type: string
The unique identifier of the cancelled cancellation request.
- agreementId
-
- Type: string
The unique identifier of the agreement associated with this cancellation request.
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the cancellation request was originally created.
- description
-
- Type: string
The detailed description of the original cancellation reason, if provided.
- reasonCode
-
- Type: string
The original reason code provided when the cancellation request was created.
- status
-
- Type: string
The updated status of the cancellation request, which is
CANCELLED. - statusMessage
-
- Type: string
A message providing additional context about the cancellation request status.
- updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the cancellation request was cancelled.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
- ConflictException:
Request was denied due to a resource conflict.
Examples
Example 1: Cancel a cancellation request
$result = $client->cancelAgreementCancellationRequest([
'agreementCancellationRequestId' => 'acr-752jqvg74yo7k4h56cakk6396',
'agreementId' => 'agmt-752jqvg74yo7k4h56cakk6396',
'cancellationReason' => 'Requested agreement cancellation by mistake',
]);
Result syntax:
[
'agreementCancellationRequestId' => 'acr-752jqvg74yo7k4h56cakk6396',
'agreementId' => 'agmt-752jqvg74yo7k4h56cakk6396',
'createdAt' => ,
'description' => 'Product is being discontinued and no longer supported',
'reasonCode' => 'PRODUCT_DISCONTINUED',
'status' => 'CANCELLED',
'statusMessage' => 'Cancellation requested by seller',
'updatedAt' => ,
]
CancelAgreementPaymentRequest
$result = $client->cancelAgreementPaymentRequest([/* ... */]); $promise = $client->cancelAgreementPaymentRequestAsync([/* ... */]);
Allows sellers (proposers) to cancel a payment request that is in PENDING_APPROVAL status. Once cancelled, the payment request transitions to CANCELLED status and can no longer be accepted or rejected by the buyer.
Only payment requests in PENDING_APPROVAL status can be cancelled. A ConflictException is thrown if the payment request is in any other status.
Parameter Syntax
$result = $client->cancelAgreementPaymentRequest([
'agreementId' => '<string>', // REQUIRED
'paymentRequestId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement associated with the payment request.
- paymentRequestId
-
- Required: Yes
- Type: string
The unique identifier of the payment request to cancel.
Result Syntax
[
'agreementId' => '<string>',
'chargeAmount' => '<string>',
'createdAt' => <DateTime>,
'currencyCode' => '<string>',
'description' => '<string>',
'name' => '<string>',
'paymentRequestId' => '<string>',
'status' => 'VALIDATING|VALIDATION_FAILED|PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED',
'updatedAt' => <DateTime>,
]
Result Details
Members
- agreementId
-
- Type: string
The unique identifier of the agreement associated with this payment request.
- chargeAmount
-
- Type: string
The amount that was requested to be charged.
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the payment request was originally created.
- currencyCode
-
- Type: string
The currency code for the charge amount.
- description
-
- Type: string
The detailed description of the payment request, if provided.
- name
-
- Type: string
The descriptive name of the payment request.
- paymentRequestId
-
- Type: string
The unique identifier of the cancelled payment request.
- status
-
- Type: string
The updated status of the payment request, which is
CANCELLED. - updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the payment request was cancelled.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
- ConflictException:
Request was denied due to a resource conflict.
CreateAgreementRequest
$result = $client->createAgreementRequest([/* ... */]); $promise = $client->createAgreementRequestAsync([/* ... */]);
Creates an agreement request that acts as a quote for the terms you want to accept. The agreement request captures the requested terms, calculates charges, and returns a summary. Use AcceptAgreementRequest with the returned agreementRequestId to finalize the agreement.
Parameter Syntax
$result = $client->createAgreementRequest([
'agreementProposalIdentifier' => '<string>',
'clientToken' => '<string>',
'intent' => 'NEW|AMEND|REPLACE', // REQUIRED
'requestedTerms' => [ // REQUIRED
[
'configuration' => [
'configurableUpfrontPricingTermConfiguration' => [
'dimensions' => [ // REQUIRED
[
'dimensionKey' => '<string>', // REQUIRED
'dimensionValue' => <integer>, // REQUIRED
],
// ...
],
'selectorValue' => '<string>', // REQUIRED
],
'renewalTermConfiguration' => [
'enableAutoRenew' => true || false, // REQUIRED
],
'variablePaymentTermConfiguration' => [
'expirationDuration' => '<string>',
'paymentRequestApprovalStrategy' => 'AUTO_APPROVE_ON_EXPIRATION|WAIT_FOR_APPROVAL', // REQUIRED
],
],
'id' => '<string>', // REQUIRED
],
// ...
],
'sourceAgreementIdentifier' => '<string>',
'taxConfiguration' => [
'taxEstimation' => 'DISABLED|ENABLED',
],
]);
Parameter Details
Members
- agreementProposalIdentifier
-
- Type: string
The agreement proposal signed by the proposer. The proposal includes the requested resources and the terms that outline an agreement outcome.
This parameter is required if the intent is not
AMEND. - clientToken
-
- Type: string
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
- intent
-
- Required: Yes
- Type: string
The purpose and desired outcome of the agreement request. This is a required parameter that determines how the agreement request is processed.
-
NEW– Creates a new agreement for terms in the request. -
AMEND– Modifies an existing agreement with terms that are accepted in the request. -
REPLACE– Creates a new agreement with accepted terms and replaces the existing agreement.
- requestedTerms
-
- Required: Yes
- Type: Array of RequestedTerm structures
A list of terms that define what is being accepted as part of the agreement. Some terms require configuration.
- sourceAgreementIdentifier
-
- Type: string
The agreement's identifier that the request acts upon.
This parameter is required for all non-
NEWintents (i.e.,AMENDorREPLACE). Don't provide this parameter if the intent isNEW. - taxConfiguration
-
- Type: TaxConfiguration structure
Configuration for tax estimation in the agreement request response.
Result Syntax
[
'agreementRequestId' => '<string>',
'chargeSummary' => [
'currencyCode' => '<string>',
'estimatedTaxes' => [
'breakdown' => [
[
'amount' => '<string>',
'rate' => '<string>',
'type' => '<string>',
],
// ...
],
'totalAmount' => '<string>',
],
'expectedCharges' => [
[
'amount' => '<string>',
'amountAfterTax' => '<string>',
'estimatedTaxes' => [
'breakdown' => [
[
'amount' => '<string>',
'rate' => '<string>',
'type' => '<string>',
],
// ...
],
'totalAmount' => '<string>',
],
'id' => '<string>',
'time' => <DateTime>,
'timing' => 'ON_ACCEPTANCE|SCHEDULED|BILLING_PERIOD',
],
// ...
],
'invoicingEntity' => [
'branchName' => '<string>',
'legalName' => '<string>',
],
'itemizedCharges' => [
[
'chargeReference' => '<string>',
'dimensionKey' => '<string>',
'incrementalChargeAmount' => '<string>',
'newQuantity' => <integer>,
'oldQuantity' => <integer>,
],
// ...
],
'newAgreementValue' => '<string>',
'newAgreementValueAfterTax' => '<string>',
],
]
Result Details
Members
- agreementRequestId
-
- Type: string
The unique identifier of the agreement request created. Use this identifier with
AcceptAgreementRequestto accept the agreement. - chargeSummary
-
- Type: ChargeSummary structure
Provides details of the charges associated with the agreement request. This is only applicable when a request is created for
PurchaseAgreement.
Errors
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- ServiceQuotaExceededException:
Request exceeded the maximum allowed limit (quota) for a specific resource or API operation.
- InternalServerException:
Unexpected error during processing of request.
- ConflictException:
Request was denied due to a resource conflict.
DescribeAgreement
$result = $client->describeAgreement([/* ... */]); $promise = $client->describeAgreementAsync([/* ... */]);
Provides details about an agreement, such as the proposer, acceptor, start date, and end date.
Parameter Syntax
$result = $client->describeAgreement([
'agreementId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement.
Result Syntax
[
'acceptanceTime' => <DateTime>,
'acceptor' => [
'accountId' => '<string>',
],
'agreementId' => '<string>',
'agreementType' => '<string>',
'endTime' => <DateTime>,
'estimatedCharges' => [
'agreementValue' => '<string>',
'currencyCode' => '<string>',
],
'proposalSummary' => [
'offerId' => '<string>',
'offerSetId' => '<string>',
'resources' => [
[
'id' => '<string>',
'type' => '<string>',
],
// ...
],
],
'proposer' => [
'accountId' => '<string>',
],
'startTime' => <DateTime>,
'status' => 'ACTIVE|ARCHIVED|CANCELLED|EXPIRED|RENEWED|REPLACED|ROLLED_BACK|SUPERSEDED|TERMINATED',
]
Result Details
Members
- acceptanceTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time the offer was accepted or the agreement was created.
AcceptanceTimeandStartTimecan differ for future dated agreements (FDAs). - acceptor
-
- Type: Acceptor structure
The details of the party accepting the agreement terms. This is commonly the buyer for
PurchaseAgreement. - agreementId
-
- Type: string
The unique identifier of the agreement.
- agreementType
-
- Type: string
The type of agreement. Values are
PurchaseAgreementorVendorInsightsAgreement. - endTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the agreement ends. The field is
nullfor pay-as-you-go agreements, which don’t have end dates. - estimatedCharges
-
- Type: EstimatedCharges structure
The estimated cost of the agreement.
- proposalSummary
-
- Type: ProposalSummary structure
A summary of the proposal received from the proposer.
- proposer
-
- Type: Proposer structure
The details of the party proposing the agreement terms. This is commonly the seller for
PurchaseAgreement. - startTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the agreement starts.
- status
-
- Type: string
The current status of the agreement.
Statuses include:
-
ACTIVE– The terms of the agreement are active. -
ARCHIVED– The agreement ended without a specified reason. -
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).
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
GetAgreementCancellationRequest
$result = $client->getAgreementCancellationRequest([/* ... */]); $promise = $client->getAgreementCancellationRequestAsync([/* ... */]);
Retrieves detailed information about a specific agreement cancellation request. Both sellers (proposers) and buyers (acceptors) can use this operation to view cancellation requests associated with their agreements.
Parameter Syntax
$result = $client->getAgreementCancellationRequest([
'agreementCancellationRequestId' => '<string>', // REQUIRED
'agreementId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- agreementCancellationRequestId
-
- Required: Yes
- Type: string
The unique identifier of the cancellation request.
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement associated with the cancellation request.
Result Syntax
[
'agreementCancellationRequestId' => '<string>',
'agreementId' => '<string>',
'createdAt' => <DateTime>,
'description' => '<string>',
'reasonCode' => 'INCORRECT_TERMS_ACCEPTED|REPLACING_AGREEMENT|TEST_AGREEMENT|ALTERNATIVE_PROCUREMENT_CHANNEL|PRODUCT_DISCONTINUED|UNINTENDED_RENEWAL|BUYER_DISSATISFACTION|OTHER',
'status' => 'PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED|VALIDATION_FAILED',
'statusMessage' => '<string>',
'updatedAt' => <DateTime>,
]
Result Details
Members
- agreementCancellationRequestId
-
- Type: string
The unique identifier of the cancellation request.
- agreementId
-
- Type: string
The unique identifier of the agreement associated with this cancellation request. Use
DescribeAgreementto retrieve full agreement details. - createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the cancellation request was created.
- description
-
- Type: string
The detailed description of the cancellation reason, if provided.
- reasonCode
-
- Type: string
The reason code provided for the cancellation.
- status
-
- Type: string
The current status of the cancellation request.
- statusMessage
-
- Type: string
A message providing additional context about the cancellation request status.
- updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the cancellation request was last updated.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
Examples
Example 1: Get a cancellation request
$result = $client->getAgreementCancellationRequest([
'agreementCancellationRequestId' => 'acr-sgew33rhsds',
'agreementId' => 'agmt-752jqvg74yo7k',
]);
Result syntax:
[
'agreementCancellationRequestId' => 'acr-sgew33rhsds',
'agreementId' => 'agmt-752jqvg74yo7k',
'createdAt' => ,
'description' => 'Product is being discontinued and no longer supported',
'reasonCode' => 'PRODUCT_DISCONTINUED',
'status' => 'VALIDATION_FAILED',
'statusMessage' => 'Agreement is not in an active state',
'updatedAt' => ,
]
GetAgreementEntitlements
$result = $client->getAgreementEntitlements([/* ... */]); $promise = $client->getAgreementEntitlementsAsync([/* ... */]);
Obtains details about the entitlements of an agreement.
Parameter Syntax
$result = $client->getAgreementEntitlements([
'agreementId' => '<string>', // REQUIRED
'maxResults' => <integer>,
'nextToken' => '<string>',
]);
Parameter Details
Members
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement.
- maxResults
-
- Type: int
The maximum number of agreement entitlements to return in the response.
- nextToken
-
- Type: string
A token to specify where to start pagination.
Result Syntax
[
'agreementEntitlements' => [
[
'licenseArn' => '<string>',
'registrationToken' => '<string>',
'resource' => [
'id' => '<string>',
'type' => '<string>',
],
'status' => 'PROVISIONED|SCHEDULED|PENDING|FAILED|DEPROVISIONED',
'statusReasonCode' => 'PROVISIONING_IN_PROGRESS|FUTURE_START_DATE|INVALID_PAYMENT_INSTRUMENT|INCOMPATIBLE_CURRENCY|ACCOUNT_SUSPENDED|UNSUPPORTED_OPERATION|AGREEMENT_INACTIVE|AGREEMENT_ACTIVE|PRODUCT_RESTRICTED',
'type' => '<string>',
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- agreementEntitlements
-
- Type: Array of AgreementEntitlement structures
A list of agreement entitlements which are part of the latest agreement.
- nextToken
-
- Type: string
The token used for pagination. The field is
nullif there are no more results.
Errors
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
GetAgreementPaymentRequest
$result = $client->getAgreementPaymentRequest([/* ... */]); $promise = $client->getAgreementPaymentRequestAsync([/* ... */]);
Retrieves detailed information about a specific payment request. Both sellers (proposers) and buyers (acceptors) can use this operation to view payment requests associated with their agreements. The response includes the current status, charge details, timestamps, and the charge ID if the request has been approved.
The calling identity must be either the acceptor or proposer of the payment request. A ResourceNotFoundException is returned if the payment request does not exist.
Parameter Syntax
$result = $client->getAgreementPaymentRequest([
'agreementId' => '<string>', // REQUIRED
'paymentRequestId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement associated with the payment request.
- paymentRequestId
-
- Required: Yes
- Type: string
The identifier of the payment request.
Result Syntax
[
'agreementId' => '<string>',
'chargeAmount' => '<string>',
'chargeId' => '<string>',
'createdAt' => <DateTime>,
'currencyCode' => '<string>',
'description' => '<string>',
'name' => '<string>',
'paymentRequestId' => '<string>',
'status' => 'VALIDATING|VALIDATION_FAILED|PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED',
'statusMessage' => '<string>',
'updatedAt' => <DateTime>,
]
Result Details
Members
- agreementId
-
- Type: string
The unique identifier of the agreement associated with this payment request. Use
DescribeAgreementto retrieve full agreement details. - chargeAmount
-
- Type: string
The amount charged or to be charged to the buyer.
- chargeId
-
- Type: string
The unique identifier of the charge created after the payment request is approved. This field is only present for approved payment requests and follows the pattern
ch-[a-zA-Z0-9]+. - createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the payment request was created.
- currencyCode
-
- Type: string
The currency code for the charge amount.
- description
-
- Type: string
The detailed description of the payment request, if provided.
- name
-
- Type: string
The descriptive name of the payment request.
- paymentRequestId
-
- Type: string
The unique identifier of the payment request.
- status
-
- Type: string
The current status of the payment request. Possible values include:
-
VALIDATING– The payment request is being validated against agreement terms. -
VALIDATION_FAILED– The payment request failed validation. -
PENDING_APPROVAL– The payment request is awaiting buyer action. -
APPROVED– The buyer has approved the payment request. -
REJECTED– The buyer has rejected the payment request. -
CANCELLED– The seller has cancelled the payment request.
- statusMessage
-
- Type: string
An optional message providing additional context about the payment request status, such as a rejection reason or validation failure details.
- updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the payment request was last updated.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
GetAgreementTerms
$result = $client->getAgreementTerms([/* ... */]); $promise = $client->getAgreementTermsAsync([/* ... */]);
Obtains details about the terms in an agreement that you participated in as proposer or acceptor.
The details include:
-
TermType– The type of term, such asLegalTerm,RenewalTerm, orConfigurableUpfrontPricingTerm. -
TermID– The ID of the particular term, which is common between offer and agreement. -
TermPayload– The key information contained in the term, such as the EULA forLegalTermor pricing and dimensions for various pricing terms, such asConfigurableUpfrontPricingTermorUsageBasedPricingTerm.
-
Configuration– The buyer/acceptor's selection at the time of agreement creation, such as the number of units purchased for a dimension or setting theEnableAutoRenewflag.
Parameter Syntax
$result = $client->getAgreementTerms([
'agreementId' => '<string>', // REQUIRED
'maxResults' => <integer>,
'nextToken' => '<string>',
]);
Parameter Details
Members
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement.
- maxResults
-
- Type: int
The maximum number of agreements to return in the response.
- nextToken
-
- Type: string
A token to specify where to start pagination.
Result Syntax
[
'acceptedTerms' => [
[
'byolPricingTerm' => [
'id' => '<string>',
'type' => '<string>',
],
'configurableUpfrontPricingTerm' => [
'configuration' => [
'dimensions' => [
[
'dimensionKey' => '<string>',
'dimensionValue' => <integer>,
],
// ...
],
'selectorValue' => '<string>',
],
'currencyCode' => '<string>',
'id' => '<string>',
'rateCards' => [
[
'constraints' => [
'multipleDimensionSelection' => '<string>',
'quantityConfiguration' => '<string>',
],
'rateCard' => [
[
'dimensionKey' => '<string>',
'price' => '<string>',
],
// ...
],
'selector' => [
'type' => '<string>',
'value' => '<string>',
],
],
// ...
],
'type' => '<string>',
],
'fixedUpfrontPricingTerm' => [
'currencyCode' => '<string>',
'duration' => '<string>',
'grants' => [
[
'dimensionKey' => '<string>',
'maxQuantity' => <integer>,
],
// ...
],
'id' => '<string>',
'price' => '<string>',
'type' => '<string>',
],
'freeTrialPricingTerm' => [
'duration' => '<string>',
'grants' => [
[
'dimensionKey' => '<string>',
'maxQuantity' => <integer>,
],
// ...
],
'id' => '<string>',
'type' => '<string>',
],
'legalTerm' => [
'documents' => [
[
'type' => '<string>',
'url' => '<string>',
'version' => '<string>',
],
// ...
],
'id' => '<string>',
'type' => '<string>',
],
'paymentScheduleTerm' => [
'currencyCode' => '<string>',
'id' => '<string>',
'schedule' => [
[
'chargeAmount' => '<string>',
'chargeDate' => <DateTime>,
],
// ...
],
'type' => '<string>',
],
'recurringPaymentTerm' => [
'billingPeriod' => '<string>',
'currencyCode' => '<string>',
'id' => '<string>',
'price' => '<string>',
'type' => '<string>',
],
'renewalTerm' => [
'configuration' => [
'enableAutoRenew' => true || false,
],
'id' => '<string>',
'type' => '<string>',
],
'supportTerm' => [
'id' => '<string>',
'refundPolicy' => '<string>',
'type' => '<string>',
],
'usageBasedPricingTerm' => [
'currencyCode' => '<string>',
'id' => '<string>',
'rateCards' => [
[
'rateCard' => [
[
'dimensionKey' => '<string>',
'price' => '<string>',
],
// ...
],
],
// ...
],
'type' => '<string>',
],
'validityTerm' => [
'agreementDuration' => '<string>',
'agreementEndDate' => <DateTime>,
'agreementStartDate' => <DateTime>,
'id' => '<string>',
'type' => '<string>',
],
'variablePaymentTerm' => [
'configuration' => [
'expirationDuration' => '<string>',
'paymentRequestApprovalStrategy' => 'AUTO_APPROVE_ON_EXPIRATION|WAIT_FOR_APPROVAL',
],
'currencyCode' => '<string>',
'id' => '<string>',
'maxTotalChargeAmount' => '<string>',
'type' => '<string>',
],
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- acceptedTerms
-
- Type: Array of AcceptedTerm structures
A subset of terms proposed by the proposer that have been accepted by the acceptor as part of the agreement creation.
- nextToken
-
- Type: string
The token used for pagination. The field is
nullif there are no more results.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
GetBillingAdjustmentRequest
$result = $client->getBillingAdjustmentRequest([/* ... */]); $promise = $client->getBillingAdjustmentRequestAsync([/* ... */]);
Retrieves detailed information about a specific billing adjustment request. Sellers (proposers) can use this operation to view the status and details of a billing adjustment request they submitted.
Parameter Syntax
$result = $client->getBillingAdjustmentRequest([
'agreementId' => '<string>', // REQUIRED
'billingAdjustmentRequestId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement associated with the billing adjustment request.
- billingAdjustmentRequestId
-
- Required: Yes
- Type: string
The unique identifier of the billing adjustment request.
Result Syntax
[
'adjustmentAmount' => '<string>',
'adjustmentReasonCode' => 'INCORRECT_TERMS_ACCEPTED|INCORRECT_METERING|TEST_ENVIRONMENT_CHARGES|ALTERNATIVE_PROCUREMENT_CHANNEL|UNINTENDED_RENEWAL|BUYER_DISSATISFACTION|OTHER',
'agreementId' => '<string>',
'billingAdjustmentRequestId' => '<string>',
'createdAt' => <DateTime>,
'currencyCode' => '<string>',
'description' => '<string>',
'originalInvoiceId' => '<string>',
'status' => 'PENDING|VALIDATION_FAILED|COMPLETED',
'statusMessage' => '<string>',
'updatedAt' => <DateTime>,
]
Result Details
Members
- adjustmentAmount
-
- Required: Yes
- Type: string
The adjustment amount as a string representation of a decimal number.
- adjustmentReasonCode
-
- Required: Yes
- Type: string
The reason code for the billing adjustment.
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement associated with this billing adjustment request.
- billingAdjustmentRequestId
-
- Required: Yes
- Type: string
The unique identifier of the billing adjustment request.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the billing adjustment request was created.
- currencyCode
-
- Required: Yes
- Type: string
The currency code for the adjustment amount (e.g.,
USD). - description
-
- Type: string
The detailed description of the billing adjustment reason, if provided.
- originalInvoiceId
-
- Required: Yes
- Type: string
The identifier of the original invoice being adjusted.
- status
-
- Required: Yes
- Type: string
The current status of the billing adjustment request.
- statusMessage
-
- Type: string
A message providing additional context about the billing adjustment request status. This field is populated only when the status is
VALIDATION_FAILED. - updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the billing adjustment request was last updated.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
Examples
Example 1: Get a billing adjustment request
$result = $client->getBillingAdjustmentRequest([
'agreementId' => 'agmt-SvIzsqYMyQwI3GWgJAe17URx',
'billingAdjustmentRequestId' => 'ba-1a2b3c4d5e6f7g',
]);
Result syntax:
[
'adjustmentAmount' => '500.00',
'adjustmentReasonCode' => 'OTHER',
'agreementId' => 'agmt-SvIzsqYMyQwI3GWgJAe17URx',
'billingAdjustmentRequestId' => 'ba-1a2b3c4d5e6f7g',
'createdAt' => ,
'currencyCode' => 'USD',
'description' => 'Customer requested adjustment',
'originalInvoiceId' => 'E2E20230929a108cfae',
'status' => 'PENDING',
'updatedAt' => ,
]
ListAgreementCancellationRequests
$result = $client->listAgreementCancellationRequests([/* ... */]); $promise = $client->listAgreementCancellationRequestsAsync([/* ... */]);
Lists agreement cancellation requests available to you as a seller or buyer. Both sellers (proposers) and buyers (acceptors) can use this operation to find cancellation requests by specifying their party type and applying optional filters.
PartyType is a required parameter. A ValidationException is returned if PartyType is not provided.
Parameter Syntax
$result = $client->listAgreementCancellationRequests([
'agreementId' => '<string>',
'agreementType' => '<string>',
'catalog' => '<string>',
'maxResults' => <integer>,
'nextToken' => '<string>',
'partyType' => '<string>', // REQUIRED
'status' => 'PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED|VALIDATION_FAILED',
]);
Parameter Details
Members
- agreementId
-
- Type: string
An optional parameter to filter cancellation requests for a specific agreement.
- agreementType
-
- Type: string
An optional parameter to filter cancellation requests by agreement type (e.g.,
PurchaseAgreement). - catalog
-
- Type: string
An optional parameter to filter cancellation requests by catalog (e.g.,
AWSMarketplace). - maxResults
-
- Type: int
The maximum number of cancellation requests to return in the response.
- nextToken
-
- Type: string
A token to specify where to start pagination.
- partyType
-
- Required: Yes
- Type: string
The party type for the cancellation requests. Required parameter. Use
Proposerto list cancellation requests where you are the seller, orAcceptorto list cancellation requests where you are the buyer. - status
-
- Type: string
An optional parameter to filter cancellation requests by status.
Result Syntax
[
'items' => [
[
'agreementCancellationRequestId' => '<string>',
'agreementId' => '<string>',
'agreementType' => '<string>',
'catalog' => '<string>',
'createdAt' => <DateTime>,
'reasonCode' => 'INCORRECT_TERMS_ACCEPTED|REPLACING_AGREEMENT|TEST_AGREEMENT|ALTERNATIVE_PROCUREMENT_CHANNEL|PRODUCT_DISCONTINUED|UNINTENDED_RENEWAL|BUYER_DISSATISFACTION|OTHER',
'status' => 'PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED|VALIDATION_FAILED',
'updatedAt' => <DateTime>,
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- items
-
- Type: Array of AgreementCancellationRequestSummary structures
An array of
AgreementCancellationRequestSummaryobjects containing summary information about each cancellation request. - nextToken
-
- Type: string
The token used for pagination. The field is
nullif there are no more results.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
Examples
Example 1: List cancellation requests
$result = $client->listAgreementCancellationRequests([
'maxResults' => 10,
'partyType' => 'Proposer',
]);
Result syntax:
[
'items' => [
[
'agreementCancellationRequestId' => 'acr-sgew33rhsds',
'agreementId' => 'agmt-752jqvg74yo7k',
'agreementType' => 'PurchaseAgreement',
'catalog' => 'AWSMarketplace',
'createdAt' => ,
'reasonCode' => 'OTHER',
'status' => 'PENDING_APPROVAL',
'updatedAt' => ,
],
],
]
ListAgreementCharges
$result = $client->listAgreementCharges([/* ... */]); $promise = $client->listAgreementChargesAsync([/* ... */]);
Allows acceptors to view charges and purchase orders that are associated with an agreement. The response includes details about all charges regardless of whether a purchase order is linked to each charge.
Parameter Syntax
$result = $client->listAgreementCharges([
'agreementId' => '<string>',
'agreementType' => '<string>',
'catalog' => '<string>',
'maxResults' => <integer>,
'nextToken' => '<string>',
]);
Parameter Details
Members
- agreementId
-
- Type: string
The unique identifier of the agreement.
- agreementType
-
- Type: string
Filter to retrieve charges of a specific agreement type (for example,
PurchaseAgreement). - catalog
-
- Type: string
The catalog in which the charges were created.
- maxResults
-
- Type: int
The maximum number of charges to return in the response.
- nextToken
-
- Type: string
A token to specify where to start pagination.
Result Syntax
[
'items' => [
[
'agreementId' => '<string>',
'agreementType' => '<string>',
'amount' => '<string>',
'currencyCode' => '<string>',
'id' => '<string>',
'purchaseOrderReference' => '<string>',
'revision' => <integer>,
'time' => <DateTime>,
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- items
-
- Type: Array of Charge structures
A list of agreement charges.
- nextToken
-
- Type: string
The token used for pagination. The field is
nullif there are no more results.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
ListAgreementInvoiceLineItems
$result = $client->listAgreementInvoiceLineItems([/* ... */]); $promise = $client->listAgreementInvoiceLineItemsAsync([/* ... */]);
Allows sellers (proposers) to retrieve aggregated billing data from AWS Marketplace agreements using flexible grouping. Supports invoice-level aggregation with filtering by billing period, invoice type, and issued date.
The groupBy parameter is required and supports only INVOICE_ID as a value. The agreementId parameter is required.
Parameter Syntax
$result = $client->listAgreementInvoiceLineItems([
'afterIssuedTime' => <integer || string || DateTime>,
'agreementId' => '<string>', // REQUIRED
'beforeIssuedTime' => <integer || string || DateTime>,
'groupBy' => 'INVOICE_ID', // REQUIRED
'invoiceBillingPeriod' => [
'month' => <integer>, // REQUIRED
'year' => <integer>, // REQUIRED
],
'invoiceId' => '<string>',
'invoiceType' => 'INVOICE|CREDIT_MEMO',
'maxResults' => <integer>,
'nextToken' => '<string>',
]);
Parameter Details
Members
- afterIssuedTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
An optional filter for invoices issued after the specified timestamp.
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement.
- beforeIssuedTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
An optional filter for invoices issued before the specified timestamp.
- groupBy
-
- Required: Yes
- Type: string
Specifies a grouping strategy for line items. Currently supports
INVOICE_ID. - invoiceBillingPeriod
-
- Type: InvoiceBillingPeriod structure
An optional filter for the billing period associated with the invoice.
- invoiceId
-
- Type: string
An optional filter to retrieve invoice information for a specific invoice.
- invoiceType
-
- Type: string
An optional filter for the type of invoice. Valid values are
INVOICEandCREDIT_MEMO. - maxResults
-
- Type: int
The maximum number of results to return in the response.
- nextToken
-
- Type: string
A token to specify where to start pagination.
Result Syntax
[
'agreementInvoiceLineItemGroupSummaries' => [
[
'agreementId' => '<string>',
'invoiceBillingPeriod' => [
'month' => <integer>,
'year' => <integer>,
],
'invoiceId' => '<string>',
'invoiceType' => 'INVOICE|CREDIT_MEMO',
'invoicingEntity' => [
'branchName' => '<string>',
'legalName' => '<string>',
],
'issuedTime' => <DateTime>,
'pricingCurrencyAmount' => [
'amount' => '<string>',
'currencyCode' => '<string>',
'maxAdjustmentAmount' => '<string>',
],
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- agreementInvoiceLineItemGroupSummaries
-
- Type: Array of AgreementInvoiceLineItemGroupSummary structures
A list of grouped billing data objects.
- nextToken
-
- Type: string
The token used for pagination. The field is
nullif there are no more results.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ThrottlingException:
Request was denied due to request throttling.
- ResourceNotFoundException:
Request references a resource which does not exist.
- InternalServerException:
Unexpected error during processing of request.
Examples
Example 1: List agreement invoice line items
$result = $client->listAgreementInvoiceLineItems([
'agreementId' => 'agmt-EXAMPLESvIzsqYMyQwI3',
'groupBy' => 'INVOICE_ID',
]);
Result syntax:
[
'agreementInvoiceLineItemGroupSummaries' => [
[
'agreementId' => 'agmt-EXAMPLESvIzsqYMyQwI3',
'invoiceBillingPeriod' => [
'month' => 1,
'year' => 2025,
],
'invoiceId' => 'E2E20250105a108cfae',
'invoiceType' => 'INVOICE',
'invoicingEntity' => [
'legalName' => 'Amazon Web Services, Inc.',
],
'issuedTime' => ,
'pricingCurrencyAmount' => [
'amount' => '1080.00',
'currencyCode' => 'USD',
'maxAdjustmentAmount' => '1000.00',
],
],
],
]
ListAgreementPaymentRequests
$result = $client->listAgreementPaymentRequests([/* ... */]); $promise = $client->listAgreementPaymentRequestsAsync([/* ... */]);
Lists payment requests available to you as a seller or buyer. Both sellers (proposers) and buyers (acceptors) can use this operation to find payment requests by specifying their party type and applying optional parameters.
PartyType is a required parameter. A ValidationException is returned if PartyType is not provided. Pagination is supported through maxResults (1-50, default 50) and nextToken parameters.
Parameter Syntax
$result = $client->listAgreementPaymentRequests([
'agreementId' => '<string>',
'agreementType' => '<string>',
'catalog' => '<string>',
'maxResults' => <integer>,
'nextToken' => '<string>',
'partyType' => '<string>', // REQUIRED
'status' => 'VALIDATING|VALIDATION_FAILED|PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED',
]);
Parameter Details
Members
- agreementId
-
- Type: string
An optional parameter to list payment requests for a specific agreement.
- agreementType
-
- Type: string
An optional parameter to list payment requests by agreement type (e.g.,
PurchaseAgreement). - catalog
-
- Type: string
An optional parameter to list payment requests by catalog (e.g.,
AWSMarketplace). - maxResults
-
- Type: int
The maximum number of payment requests to return in a single response (1-50). Default is 50.
- nextToken
-
- Type: string
A token to specify where to start pagination.
- partyType
-
- Required: Yes
- Type: string
The party type for the payment requests. Required parameter. Use
Proposerto list payment requests where you are the seller, orAcceptorto list payment requests where you are the buyer. - status
-
- Type: string
An optional parameter to list payment requests by status. Valid values include
VALIDATING,VALIDATION_FAILED,PENDING_APPROVAL,APPROVED,REJECTED, andCANCELLED.
Result Syntax
[
'items' => [
[
'agreementId' => '<string>',
'chargeAmount' => '<string>',
'chargeId' => '<string>',
'createdAt' => <DateTime>,
'currencyCode' => '<string>',
'name' => '<string>',
'paymentRequestId' => '<string>',
'status' => 'VALIDATING|VALIDATION_FAILED|PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED',
'updatedAt' => <DateTime>,
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- items
-
- Required: Yes
- Type: Array of PaymentRequestSummary structures
An array of
PaymentRequestSummaryobjects containing summary information about each payment request. - nextToken
-
- Type: string
The token used for pagination. The field is
nullif there are no more results.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
ListBillingAdjustmentRequests
$result = $client->listBillingAdjustmentRequests([/* ... */]); $promise = $client->listBillingAdjustmentRequestsAsync([/* ... */]);
Lists billing adjustment requests for a specific agreement. Sellers (proposers) can use this operation to view all billing adjustment requests associated with an agreement.
Parameter Syntax
$result = $client->listBillingAdjustmentRequests([
'agreementId' => '<string>',
'agreementType' => '<string>',
'catalog' => '<string>',
'createdAfter' => <integer || string || DateTime>,
'createdBefore' => <integer || string || DateTime>,
'maxResults' => <integer>,
'nextToken' => '<string>',
'status' => 'PENDING|VALIDATION_FAILED|COMPLETED',
]);
Parameter Details
Members
- agreementId
-
- Type: string
The unique identifier of the agreement to list billing adjustment requests for.
- agreementType
-
- Type: string
An optional filter to return billing adjustment requests by agreement type (e.g.,
PurchaseAgreement). - catalog
-
- Type: string
An optional filter to return billing adjustment requests by catalog (e.g.,
AWSMarketplace). - createdAfter
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
An optional filter to return billing adjustment requests created after the specified timestamp.
- createdBefore
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
An optional filter to return billing adjustment requests created before the specified timestamp.
- maxResults
-
- Type: int
The maximum number of billing adjustment requests to return in the response.
- nextToken
-
- Type: string
A token to specify where to start pagination.
- status
-
- Type: string
An optional filter to return billing adjustment requests with the specified status.
Result Syntax
[
'items' => [
[
'adjustmentAmount' => '<string>',
'agreementId' => '<string>',
'agreementType' => '<string>',
'billingAdjustmentRequestId' => '<string>',
'catalog' => '<string>',
'createdAt' => <DateTime>,
'currencyCode' => '<string>',
'originalInvoiceId' => '<string>',
'status' => 'PENDING|VALIDATION_FAILED|COMPLETED',
'updatedAt' => <DateTime>,
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- items
-
- Required: Yes
- Type: Array of BillingAdjustmentSummary structures
An array of
BillingAdjustmentSummaryobjects containing summary information about each billing adjustment request. - nextToken
-
- Type: string
The token used for pagination. The field is
nullif there are no more results.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
Examples
Example 1: List billing adjustment requests
$result = $client->listBillingAdjustmentRequests([
'agreementId' => 'agmt-SvIzsqYMyQwI3GWgJAe17URx',
]);
Result syntax:
[
'items' => [
[
'adjustmentAmount' => '500.00',
'agreementId' => 'agmt-SvIzsqYMyQwI3GWgJAe17URx',
'agreementType' => 'PurchaseAgreement',
'billingAdjustmentRequestId' => 'ba-1a2b3c4d5e6f7g',
'catalog' => 'AWSMarketplace',
'createdAt' => ,
'currencyCode' => 'USD',
'originalInvoiceId' => 'E2E20230929a108cfae',
'status' => 'PENDING',
'updatedAt' => ,
],
],
]
RejectAgreementCancellationRequest
$result = $client->rejectAgreementCancellationRequest([/* ... */]); $promise = $client->rejectAgreementCancellationRequestAsync([/* ... */]);
Allows buyers (acceptors) to reject a cancellation request that is in PENDING_APPROVAL status. Once rejected, the cancellation request transitions to REJECTED status and the agreement remains active. Buyers must provide a reason for the rejection.
Only cancellation requests in PENDING_APPROVAL status can be rejected. A ConflictException is thrown if the cancellation request is in any other status.
Parameter Syntax
$result = $client->rejectAgreementCancellationRequest([
'agreementCancellationRequestId' => '<string>', // REQUIRED
'agreementId' => '<string>', // REQUIRED
'rejectionReason' => '<string>', // REQUIRED
]);
Parameter Details
Members
- agreementCancellationRequestId
-
- Required: Yes
- Type: string
The unique identifier of the cancellation request to reject.
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement associated with the cancellation request.
- rejectionReason
-
- Required: Yes
- Type: string
The reason for rejecting the cancellation request (1-2000 characters). This message is visible to the seller.
Result Syntax
[
'agreementCancellationRequestId' => '<string>',
'agreementId' => '<string>',
'createdAt' => <DateTime>,
'description' => '<string>',
'reasonCode' => 'INCORRECT_TERMS_ACCEPTED|REPLACING_AGREEMENT|TEST_AGREEMENT|ALTERNATIVE_PROCUREMENT_CHANNEL|PRODUCT_DISCONTINUED|UNINTENDED_RENEWAL|BUYER_DISSATISFACTION|OTHER',
'status' => 'PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED|VALIDATION_FAILED',
'statusMessage' => '<string>',
'updatedAt' => <DateTime>,
]
Result Details
Members
- agreementCancellationRequestId
-
- Type: string
The unique identifier of the rejected cancellation request.
- agreementId
-
- Type: string
The unique identifier of the agreement associated with this cancellation request.
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the cancellation request was originally created.
- description
-
- Type: string
The detailed description of the cancellation reason, if provided.
- reasonCode
-
- Type: string
The original reason code provided when the cancellation request was created.
- status
-
- Type: string
The updated status of the cancellation request, which is
REJECTED. - statusMessage
-
- Type: string
The rejection reason provided by the buyer.
- updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the cancellation request was rejected.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
- ConflictException:
Request was denied due to a resource conflict.
RejectAgreementPaymentRequest
$result = $client->rejectAgreementPaymentRequest([/* ... */]); $promise = $client->rejectAgreementPaymentRequestAsync([/* ... */]);
Allows buyers (acceptors) to reject a payment request that is in PENDING_APPROVAL status. Once rejected, the payment request transitions to REJECTED status and cannot be accepted. Buyers can optionally provide a reason for the rejection.
Only payment requests in PENDING_APPROVAL status can be rejected. A ConflictException is thrown if the payment request is in any other status.
Parameter Syntax
$result = $client->rejectAgreementPaymentRequest([
'agreementId' => '<string>', // REQUIRED
'paymentRequestId' => '<string>', // REQUIRED
'rejectionReason' => '<string>',
]);
Parameter Details
Members
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement associated with the payment request.
- paymentRequestId
-
- Required: Yes
- Type: string
The unique identifier of the payment request to reject.
- rejectionReason
-
- Type: string
An optional reason for rejecting the payment request (1-250 characters). This message is visible to the seller.
Result Syntax
[
'agreementId' => '<string>',
'chargeAmount' => '<string>',
'createdAt' => <DateTime>,
'currencyCode' => '<string>',
'description' => '<string>',
'name' => '<string>',
'paymentRequestId' => '<string>',
'status' => 'VALIDATING|VALIDATION_FAILED|PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED',
'statusMessage' => '<string>',
'updatedAt' => <DateTime>,
]
Result Details
Members
- agreementId
-
- Type: string
The unique identifier of the agreement associated with this payment request.
- chargeAmount
-
- Type: string
The amount that was requested to be charged.
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the payment request was originally created.
- currencyCode
-
- Type: string
The currency code for the charge amount.
- description
-
- Type: string
The detailed description of the payment request, if provided.
- name
-
- Type: string
The descriptive name of the payment request.
- paymentRequestId
-
- Type: string
The unique identifier of the rejected payment request.
- status
-
- Type: string
The updated status of the payment request, which is
REJECTED. - statusMessage
-
- Type: string
The rejection reason provided by the buyer, if any.
- updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the payment request was rejected.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
- ConflictException:
Request was denied due to a resource conflict.
SearchAgreements
$result = $client->searchAgreements([/* ... */]); $promise = $client->searchAgreementsAsync([/* ... */]);
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.
The following filter combinations are supported when the PartyType is Proposer:
-
AgreementType -
AgreementType+EndTime -
AgreementType+ResourceType -
AgreementType+ResourceType+EndTime -
AgreementType+ResourceType+Status -
AgreementType+ResourceType+Status+EndTime -
AgreementType+ResourceIdentifier -
AgreementType+ResourceIdentifier+EndTime -
AgreementType+ResourceIdentifier+Status -
AgreementType+ResourceIdentifier+Status+EndTime -
AgreementType+AcceptorAccountId -
AgreementType+AcceptorAccountId+EndTime -
AgreementType+AcceptorAccountId+Status -
AgreementType+AcceptorAccountId+Status+EndTime -
AgreementType+AcceptorAccountId+OfferId -
AgreementType+AcceptorAccountId+OfferId+Status -
AgreementType+AcceptorAccountId+OfferId+EndTime -
AgreementType+AcceptorAccountId+OfferId+Status+EndTime -
AgreementType+AcceptorAccountId+ResourceIdentifier -
AgreementType+AcceptorAccountId+ResourceIdentifier+Status -
AgreementType+AcceptorAccountId+ResourceIdentifier+EndTime -
AgreementType+AcceptorAccountId+ResourceIdentifier+Status+EndTime -
AgreementType+AcceptorAccountId+ResourceType -
AgreementType+AcceptorAccountId+ResourceType+EndTime -
AgreementType+AcceptorAccountId+ResourceType+Status -
AgreementType+AcceptorAccountId+ResourceType+Status+EndTime -
AgreementType+Status -
AgreementType+Status+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
To filter by EndTime, you can use BeforeEndTime and/or AfterEndTime. Only EndTime is supported for sorting.
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
Parameter Syntax
$result = $client->searchAgreements([
'catalog' => '<string>',
'filters' => [
[
'name' => '<string>',
'values' => ['<string>', ...],
],
// ...
],
'maxResults' => <integer>,
'nextToken' => '<string>',
'sort' => [
'sortBy' => '<string>',
'sortOrder' => 'ASCENDING|DESCENDING',
],
]);
Parameter Details
Members
- catalog
-
- Type: string
The catalog in which the agreement was created.
- filters
-
- Type: Array of Filter structures
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, orMachineLearningProduct). -
PartyType– The party type of the caller. UseProposerorAcceptor. -
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 includeACTIVE,ARCHIVED,CANCELLED,EXPIRED,RENEWED,REPLACED, andTERMINATED. -
BeforeEndTime– A date used to filter agreements with a date before theendTimeof an agreement. -
AfterEndTime– A date used to filter agreements with a date after theendTimeof an agreement. -
AgreementType– The type of agreement. Supported value includesPurchaseAgreement. -
OfferSetId– A unique identifier for the offer set containing this offer. All agreements created from offers in this set include this identifier as context.
- maxResults
-
- Type: int
The maximum number of agreements to return in the response.
- nextToken
-
- Type: string
A token to specify where to start pagination.
- sort
-
- Type: Sort structure
An object that contains the
SortByandSortOrderattributes. OnlyEndTimeis supported forSearchAgreements. The default sort isEndTimedescending.
Result Syntax
[
'agreementViewSummaries' => [
[
'acceptanceTime' => <DateTime>,
'acceptor' => [
'accountId' => '<string>',
],
'agreementId' => '<string>',
'agreementType' => '<string>',
'endTime' => <DateTime>,
'proposalSummary' => [
'offerId' => '<string>',
'offerSetId' => '<string>',
'resources' => [
[
'id' => '<string>',
'type' => '<string>',
],
// ...
],
],
'proposer' => [
'accountId' => '<string>',
],
'startTime' => <DateTime>,
'status' => 'ACTIVE|ARCHIVED|CANCELLED|EXPIRED|RENEWED|REPLACED|ROLLED_BACK|SUPERSEDED|TERMINATED',
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- agreementViewSummaries
-
- Type: Array of AgreementViewSummary structures
A summary of the agreement, including top-level attributes (for example, the agreement ID, proposer, and acceptor).
- nextToken
-
- Type: string
The token used for pagination. The field is
nullif there are no more results.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
SendAgreementCancellationRequest
$result = $client->sendAgreementCancellationRequest([/* ... */]); $promise = $client->sendAgreementCancellationRequestAsync([/* ... */]);
Allows sellers (proposers) to submit a cancellation request for an active agreement. The cancellation request is created in PENDING_APPROVAL status, at which point the buyer can review it.
Parameter Syntax
$result = $client->sendAgreementCancellationRequest([
'agreementId' => '<string>', // REQUIRED
'clientToken' => '<string>',
'description' => '<string>',
'reasonCode' => 'INCORRECT_TERMS_ACCEPTED|REPLACING_AGREEMENT|TEST_AGREEMENT|ALTERNATIVE_PROCUREMENT_CHANNEL|PRODUCT_DISCONTINUED|UNINTENDED_RENEWAL|BUYER_DISSATISFACTION|OTHER', // REQUIRED
]);
Parameter Details
Members
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement for which the cancellation request is being submitted.
- clientToken
-
- Type: string
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
- description
-
- Type: string
An optional detailed description of the cancellation reason (1-2000 characters).
- reasonCode
-
- Required: Yes
- Type: string
The reason code for the cancellation request.
Result Syntax
[
'agreementCancellationRequestId' => '<string>',
'agreementId' => '<string>',
'createdAt' => <DateTime>,
'description' => '<string>',
'reasonCode' => 'INCORRECT_TERMS_ACCEPTED|REPLACING_AGREEMENT|TEST_AGREEMENT|ALTERNATIVE_PROCUREMENT_CHANNEL|PRODUCT_DISCONTINUED|UNINTENDED_RENEWAL|BUYER_DISSATISFACTION|OTHER',
'status' => 'PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED|VALIDATION_FAILED',
'updatedAt' => <DateTime>,
]
Result Details
Members
- agreementCancellationRequestId
-
- Type: string
The unique identifier for the created cancellation request.
- agreementId
-
- Type: string
The unique identifier of the agreement.
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The time when the cancellation request was created.
- description
-
- Type: string
The detailed description of the cancellation reason, if provided.
- reasonCode
-
- Type: string
The reason code provided for the cancellation.
- status
-
- Type: string
The current status of the cancellation request. The initial status is
PENDING_APPROVAL. - updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The time when the cancellation request was last updated.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
- ConflictException:
Request was denied due to a resource conflict.
Examples
Example 1: Send a cancellation request
$result = $client->sendAgreementCancellationRequest([
'agreementId' => 'agmt-752jqvg74yo7k4h56cakk6396',
'clientToken' => '53nQSKWt6AjrsiZPhzQyZT',
'description' => 'Due to budget constraints, we are unable to continue with our current subscription',
'reasonCode' => 'OTHER',
]);
Result syntax:
[
'agreementCancellationRequestId' => 'acr-752jqvg74yo7k4h56cakk6396',
'agreementId' => 'agmt-752jqvg74yo7k4h56cakk6396',
'createdAt' => ,
'description' => 'Due to budget constraints, we are unable to continue with our current subscription',
'reasonCode' => 'OTHER',
'status' => 'PENDING_APPROVAL',
'updatedAt' => ,
]
SendAgreementPaymentRequest
$result = $client->sendAgreementPaymentRequest([/* ... */]); $promise = $client->sendAgreementPaymentRequestAsync([/* ... */]);
Allows sellers (proposers) to submit a payment request to buyers (acceptors) for a specific charge amount for an agreement that includes a VariablePaymentTerm. The payment request is created in PENDING_APPROVAL status, at which point the buyer can accept or reject it.
The agreement must be active and have a VariablePaymentTerm to support payment requests. The chargeAmount must not exceed the remaining available balance under the VariablePaymentTerm maxTotalChargeAmount.
Parameter Syntax
$result = $client->sendAgreementPaymentRequest([
'agreementId' => '<string>', // REQUIRED
'chargeAmount' => '<string>', // REQUIRED
'clientToken' => '<string>',
'description' => '<string>',
'name' => '<string>', // REQUIRED
'termId' => '<string>', // REQUIRED
]);
Parameter Details
Members
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement for which the payment request is being submitted. Use
GetAgreementTermsto retrieve agreement term details. - chargeAmount
-
- Required: Yes
- Type: string
The amount requested to be charged to the buyer, positive decimal value in the currency of the accepted term.
A
ValidationExceptionis returned if thechargeAmountexceeds the available balance, if the agreement doesn't have an activeVariablePaymentTerm, or if thetermIdis invalid. - clientToken
-
- Type: string
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
- description
-
- Type: string
An optional detailed description of the payment request (1-2000 characters).
- name
-
- Required: Yes
- Type: string
A descriptive name for the payment request (5-64 characters).
- termId
-
- Required: Yes
- Type: string
The unique identifier of the
VariablePaymentTermfor the agreement that the payment request is being sent for.
Result Syntax
[
'agreementId' => '<string>',
'chargeAmount' => '<string>',
'createdAt' => <DateTime>,
'currencyCode' => '<string>',
'description' => '<string>',
'name' => '<string>',
'paymentRequestId' => '<string>',
'status' => 'VALIDATING|VALIDATION_FAILED|PENDING_APPROVAL|APPROVED|REJECTED|CANCELLED',
]
Result Details
Members
- agreementId
-
- Type: string
The agreement identifier for this payment request.
- chargeAmount
-
- Type: string
The amount being charged to the buyer.
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The time when the payment request was created.
- currencyCode
-
- Type: string
The currency code for the charge amount (e.g.,
USD). - description
-
- Type: string
The detailed description of the payment request, if provided.
- name
-
- Type: string
The descriptive name of the payment request.
- paymentRequestId
-
- Type: string
The unique identifier for the sent payment request.
- status
-
- Type: string
The current status of the payment request. The initial status is
PENDING_APPROVAL.
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
- ConflictException:
Request was denied due to a resource conflict.
UpdatePurchaseOrders
$result = $client->updatePurchaseOrders([/* ... */]); $promise = $client->updatePurchaseOrdersAsync([/* ... */]);
Allows acceptors to associate purchase orders with agreement charges after an agreement is created.
Parameter Syntax
$result = $client->updatePurchaseOrders([
'purchaseOrders' => [ // REQUIRED
[
'agreementId' => '<string>',
'chargeId' => '<string>', // REQUIRED
'chargeRevision' => <integer>,
'purchaseOrderReference' => '<string>',
],
// ...
],
]);
Parameter Details
Members
- purchaseOrders
-
- Required: Yes
- Type: Array of PurchaseOrder structures
Contains information about purchase order associations.
Result Syntax
[]
Result Details
Errors
- ValidationException:
The input fails to satisfy the constraints specified by the service.
- AccessDeniedException:
User does not have sufficient access to perform this action.
- ResourceNotFoundException:
Request references a resource which does not exist.
- ThrottlingException:
Request was denied due to request throttling.
- InternalServerException:
Unexpected error during processing of request.
- ConflictException:
Request was denied due to a resource conflict.
Shapes
AcceptedTerm
Description
A subset of terms proposed by the proposer, which have been accepted by the acceptor as part of agreement creation.
Members
- byolPricingTerm
-
- Type: ByolPricingTerm structure
Enables you and your customers to move your existing agreements to AWS Marketplace. The customer won't be charged for product usage in AWS Marketplace because they already paid for the product outside of AWS Marketplace.
- configurableUpfrontPricingTerm
-
- Type: ConfigurableUpfrontPricingTerm structure
Defines a prepaid payment model that allows buyers to configure the entitlements they want to purchase and the duration.
- fixedUpfrontPricingTerm
-
- Type: FixedUpfrontPricingTerm structure
Defines a pre-paid pricing model where the customers are charged a fixed upfront amount.
- freeTrialPricingTerm
-
- Type: FreeTrialPricingTerm structure
Defines a short-term free pricing model where the buyers aren’t charged anything within a specified limit.
- legalTerm
-
- Type: LegalTerm structure
Defines the list of text agreements proposed to the acceptors. An example is the end user license agreement (EULA).
- paymentScheduleTerm
-
- Type: PaymentScheduleTerm structure
Defines an installment-based pricing model where customers are charged a fixed price on different dates during the agreement validity period. This is used most commonly for flexible payment schedule pricing.
- recurringPaymentTerm
-
- Type: RecurringPaymentTerm structure
Defines a pricing model where customers are charged a fixed recurring price at the end of each billing period.
- renewalTerm
-
- Type: RenewalTerm structure
Defines that on graceful expiration of the agreement (when the agreement ends on its pre-defined end date), a new agreement will be created using the accepted terms on the existing agreement. In other words, the agreement will be renewed. Presence of
RenewalTermin the offer document means that auto-renewal is allowed. Buyers will have the option to accept or decline auto-renewal at the offer acceptance/agreement creation. Buyers can also change this flag fromTruetoFalseorFalsetoTrueat anytime during the agreement's lifecycle. - supportTerm
-
- Type: SupportTerm structure
Defines the customer support available for the acceptors when they purchase the software.
- usageBasedPricingTerm
-
- Type: UsageBasedPricingTerm structure
Defines a usage-based pricing model (typically, pay-as-you-go pricing), where the customers are charged based on product usage.
- validityTerm
-
- Type: ValidityTerm structure
Defines the conditions that will keep an agreement created from this offer valid.
- variablePaymentTerm
-
- Type: VariablePaymentTerm structure
Defines a payment model where sellers can submit variable payment requests up to a maximum charge amount, with configurable approval strategies and expiration timelines.
Acceptor
Description
The details of the party accepting the agreement terms. This is commonly the buyer for PurchaseAgreement.
Members
- accountId
-
- Type: string
The AWS account ID of the acceptor.
AccessDeniedException
Description
User does not have sufficient access to perform this action.
Members
- message
-
- Type: string
Description of the error.
- reason
-
- Type: string
The reason for the access denied exception.
- requestId
-
- Type: string
The unique identifier for the error.
AgreementCancellationRequestSummary
Description
Summary view of an agreement cancellation request.
Members
- agreementCancellationRequestId
-
- Type: string
The unique identifier of the cancellation request.
- agreementId
-
- Type: string
The unique identifier of the agreement associated with this cancellation request.
- agreementType
-
- Type: string
The type of agreement.
- catalog
-
- Type: string
The catalog in which the agreement was created.
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the cancellation request was created.
- reasonCode
-
- Type: string
The reason code provided for the cancellation.
- status
-
- Type: string
The current status of the cancellation request. Possible values include
PENDING_APPROVAL,APPROVED,REJECTED,CANCELLED, andVALIDATION_FAILED. - updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the cancellation request was last updated.
AgreementEntitlement
Description
Represents an entitlement associated with an agreement, including the provisioning status, resource, and type.
Members
- licenseArn
-
- Type: string
The Amazon Resource Name (ARN) of the AWS License Manager license associated with the entitlement.
- registrationToken
-
- Type: string
A short-lived token required by acceptors to register their account with the product provider. The token is only valid for 30 minutes after creation and is only applicable for purchase agreements.
- resource
-
- Type: Resource structure
The resource that the entitlement is provisioned to, such as a product.
- status
-
- Type: string
The current state of an entitlement.
- statusReasonCode
-
- Type: string
Provides more information about the status of an entitlement.
- type
-
- Type: string
The type of entitlement.
AgreementInvoiceLineItemGroupSummary
Description
A summary of grouped billing data for an agreement invoice line item.
Members
- agreementId
-
- Type: string
The unique identifier of the agreement.
- invoiceBillingPeriod
-
- Type: InvoiceBillingPeriod structure
The billing period associated with this group.
- invoiceId
-
- Type: string
The identifier of the invoice for this group.
- invoiceType
-
- Type: string
The type of invoice. Valid values are
INVOICEandCREDIT_MEMO. - invoicingEntity
-
- Type: InvoicingEntity structure
The entity that issues the invoice.
- issuedTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the invoice containing this group was created.
- pricingCurrencyAmount
-
- Type: PricingCurrencyAmount structure
Monetary amounts for this invoice group.
AgreementViewSummary
Description
A summary of the agreement, including top-level attributes (for example, the agreement ID, proposer, and acceptor).
Members
- acceptanceTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time that the agreement was accepted.
- acceptor
-
- Type: Acceptor structure
Details of the party accepting the agreement terms. This is commonly the buyer for
PurchaseAgreement. - agreementId
-
- Type: string
The unique identifier of the agreement.
- agreementType
-
- Type: string
The type of agreement.
- endTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the agreement ends. The field is
nullfor pay-as-you-go agreements, which don’t have end dates. - proposalSummary
-
- Type: ProposalSummary structure
A summary of the proposal
- proposer
-
- Type: Proposer structure
Details of the party proposing the agreement terms, most commonly the seller for
PurchaseAgreement. - startTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the agreement starts.
- status
-
- Type: string
The current status of the agreement.
BatchCreateBillingAdjustmentError
Description
An error for a billing adjustment request entry that failed validation.
Members
- clientToken
-
- Required: Yes
- Type: string
The client token of the request entry that failed.
- code
-
- Required: Yes
- Type: string
The error code indicating the reason for failure.
- message
-
- Required: Yes
- Type: string
A human-readable message describing the error.
BatchCreateBillingAdjustmentItem
Description
A successfully created billing adjustment request item.
Members
- billingAdjustmentRequestId
-
- Required: Yes
- Type: string
The unique identifier of the created billing adjustment request.
- clientToken
-
- Required: Yes
- Type: string
The client token provided in the corresponding request entry.
BatchCreateBillingAdjustmentRequestEntry
Description
An individual entry in a batch billing adjustment request, specifying the invoice and adjustment details.
Members
- adjustmentAmount
-
- Required: Yes
- Type: string
The adjustment amount as a string representation of a decimal number in the currency of the invoice.
- adjustmentReasonCode
-
- Required: Yes
- Type: string
The reason code for the billing adjustment.
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement associated with the invoice.
- clientToken
-
- Required: Yes
- Type: string
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
- currencyCode
-
- Required: Yes
- Type: string
The 3-letter ISO 4217 currency code for the adjustment amount. Must match the currency code of the offer associated with the agreement (e.g.,
USD). - description
-
- Type: string
An optional detailed description of the adjustment reason.
- originalInvoiceId
-
- Required: Yes
- Type: string
The identifier of the original invoice to adjust.
BillingAdjustmentSummary
Description
Summary view of a billing adjustment request.
Members
- adjustmentAmount
-
- Required: Yes
- Type: string
The adjustment amount as a string representation of a decimal number.
- agreementId
-
- Required: Yes
- Type: string
The unique identifier of the agreement associated with this billing adjustment request.
- agreementType
-
- Required: Yes
- Type: string
The type of agreement.
- billingAdjustmentRequestId
-
- Required: Yes
- Type: string
The unique identifier of the billing adjustment request.
- catalog
-
- Required: Yes
- Type: string
The catalog in which the agreement was created.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the billing adjustment request was created.
- currencyCode
-
- Required: Yes
- Type: string
The currency code for the adjustment amount.
- originalInvoiceId
-
- Required: Yes
- Type: string
The identifier of the original invoice being adjusted.
- status
-
- Required: Yes
- Type: string
The current status of the billing adjustment request.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the billing adjustment request was last updated.
ByolPricingTerm
Description
Enables you and your customers to move your existing agreements to AWS Marketplace. The customer won't be charged for product usage in AWS Marketplace because they already paid for the product outside of AWS Marketplace.
Members
- id
-
- Type: string
The unique identifier for the term.
- type
-
- Type: string
Type of the term being updated.
Charge
Description
Represents a charge associated with an agreement, including amount, timing, and purchase order details.
Members
- agreementId
-
- Type: string
The unique identifier of the agreement that resulted in this charge.
- agreementType
-
- Type: string
The type of agreement that resulted in this charge (for example,
PurchaseAgreement). - amount
-
- Type: string
The amount of the charge.
- currencyCode
-
- Type: string
The currency code for the charge amount.
- id
-
- Type: string
The unique identifier of the charge.
- purchaseOrderReference
-
- Type: string
The purchase order reference associated with the charge, if any.
- revision
-
- Type: long (int|float)
The revision number of the charge.
- time
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the charge will be incurred. This is available only when the charge date is known.
ChargeSummary
Description
The ChargeSummary provides a detailed breakdown of charges that are associated with an agreement request. This is applicable only when a request is created for a PurchaseAgreement.
Tax and invoicing fields (such as estimatedTaxes, amountAfterTax, newAgreementValueAfterTax, and invoicingEntity) are returned on a best-effort basis and do not cause the request to fail if unavailable.
A null tax amount can have two meanings:
-
Tax estimation was unavailable at the time of the request.
-
The charge timing is
BILLING_PERIOD, so the charge amount is not determined at request time. In this case, the tax breakdown may still include the taxrateandtype.
Members
- currencyCode
-
- Type: string
The three-letter currency code for all charges (e.g., USD).
- estimatedTaxes
-
- Type: EstimatedTaxes structure
Provides an aggregated view of estimated tax information for the agreement.
- expectedCharges
-
- Type: Array of ExpectedCharge structures
A list of expected charges for the agreement request.
- invoicingEntity
-
- Type: InvoicingEntity structure
The entity responsible for issuing the invoice.
- itemizedCharges
-
- Type: Array of ItemizedCharge structures
An itemized list of charges for the agreement request.
- newAgreementValue
-
- Type: string
The total value of the agreement, which includes any amendments.
- newAgreementValueAfterTax
-
- Type: string
Expected new agreement value after estimated taxes are applied.
ConfigurableUpfrontPricingTerm
Description
Defines a prepaid payment model that allows buyers to configure the entitlements they want to purchase and the duration.
Members
- configuration
-
- Type: ConfigurableUpfrontPricingTermConfiguration structure
Additional parameters specified by the acceptor while accepting the term.
- currencyCode
-
- Type: string
Defines the currency for the prices mentioned in the term.
- id
-
- Type: string
The unique identifier of the term.
- rateCards
-
- Type: Array of ConfigurableUpfrontRateCardItem structures
A rate card defines the per unit rates for product dimensions.
- type
-
- Type: string
Category of selector.
ConfigurableUpfrontPricingTermConfiguration
Description
Defines a prepaid payment model that allows buyers to configure the entitlements they want to purchase and the duration.
Members
- dimensions
-
- Required: Yes
- Type: Array of Dimension structures
Defines the dimensions that the acceptor has purchased from the overall set of dimensions presented in the rate card.
- selectorValue
-
- Required: Yes
- Type: string
Defines the length of time for which the particular pricing/dimension is being purchased by the acceptor.
ConfigurableUpfrontRateCardItem
Description
Within the prepaid payment model defined under ConfigurableUpfrontPricingTerm, the RateCardItem defines all the various rate cards (including pricing and dimensions) that have been proposed.
Members
- constraints
-
- Type: Constraints structure
Defines limits on how the term can be configured by acceptors.
- rateCard
-
- Type: Array of RateCardItem structures
Defines the per unit rates for product dimensions.
- selector
-
- Type: Selector structure
Differentiates between the mutually exclusive rate cards in the same pricing term to be selected by the buyer.
ConflictException
Description
Request was denied due to a resource conflict.
Members
- message
-
- Type: string
Description of the error.
- requestId
-
- Type: string
The unique identifier for the error.
- resourceId
-
- Type: string
The unique identifier of the resource involved in the conflict.
- resourceType
-
- Type: string
The type of the resource involved in the conflict.
Constraints
Description
Defines limits on how the term can be configured by acceptors.
Members
- multipleDimensionSelection
-
- Type: string
Determines if buyers are allowed to select multiple dimensions in the rate card. The possible values are
AllowedandDisallowed. The default value isAllowed. - quantityConfiguration
-
- Type: string
Determines if acceptors are allowed to configure quantity for each dimension in rate card. The possible values are
AllowedandDisallowed. The default value isAllowed.
Dimension
Description
Defines the dimensions that the acceptor has purchased from the overall set of dimensions presented in the rate card.
Members
- dimensionKey
-
- Required: Yes
- Type: string
The name of key value of the dimension.
- dimensionValue
-
- Required: Yes
- Type: int
The number of units of the dimension the acceptor has purchased.
For Agreements with
ConfigurableUpfrontPricingTerm, theRateCardsection will define the prices and dimensions defined by the seller (proposer), whereas theConfigurationsection will define the actual dimensions, prices, and units the buyer has chosen to accept.
DocumentItem
Description
Includes the list of references to legal resources proposed by the proposer to the acceptor. Each DocumentItem refers to an individual reference.
Members
- type
-
- Type: string
Category of the document. Document types include:
-
CustomEula– A custom EULA provided by you as seller. A URL for a EULA stored in an accessible Amazon S3 bucket is required for this document type. -
CustomDsa– A custom Data Subscription Agreement (DSA) provided by you as seller. A URL for a DSA stored in an accessible Amazon S3 bucket is required for this document type. -
StandardEula– The Standard Contract for AWS Marketplace (SCMP). For more information about SCMP, see the AWS Marketplace Seller Guide. You don’t provide a URL for this type because it’s managed by AWS Marketplace. -
StandardDsa– DSA for AWS Marketplace. For more information about the DSA, see the AWS Data Exchange User Guide. You don’t provide a URL for this type because it’s managed by AWS Marketplace.
- url
-
- Type: string
A URL to the legal document for buyers to read. Required when
TypeisCustomEula. - version
-
- Type: string
Version of standard contracts provided by AWS Marketplace. Required when Type is
StandardEulaorStandardDsa.
EstimatedCharges
Description
Estimated cost of the agreement.
Members
- agreementValue
-
- Type: string
The total known amount customer has to pay across the lifecycle of the agreement.
This is the total contract value if accepted terms contain
ConfigurableUpfrontPricingTermorFixedUpfrontPricingTerm. In the case of pure contract pricing, this will be the total value of the contract. In the case of contracts with consumption pricing, this will only include the committed value and not include any overages that occur.If the accepted terms contain
PaymentScheduleTerm, it will be the total payment schedule amount. This occurs when flexible payment schedule is used, and is the sum of all invoice charges in the payment schedule.In case a customer has amended an agreement, by purchasing more units of any dimension, this will include both the original cost as well as the added cost incurred due to addition of new units.
This is
0if the accepted terms containUsageBasedPricingTermwithoutConfigurableUpfrontPricingTermorRecurringPaymentTerm. This occurs for usage-based pricing (such as SaaS metered or AMI/container hourly or monthly), because the exact usage is not known upfront. - currencyCode
-
- Type: string
Defines the currency code for the charge.
EstimatedTaxes
Description
Provides an aggregated view of estimated tax information.
Members
- breakdown
-
- Type: Array of TaxBreakdownItem structures
A list of tax breakdown information.
- totalAmount
-
- Type: string
The total amount of tax aggregated from the tax breakdown.
ExpectedCharge
Description
Estimated charge for the request.
Members
- amount
-
- Type: string
The tax-exclusive amount of the charge. Only available when the charge amount is known.
- amountAfterTax
-
- Type: string
The tax-inclusive amount the acceptor has to pay. The amount is only present for fixed charges.
- estimatedTaxes
-
- Type: EstimatedTaxes structure
Provides an aggregated view of estimated tax information for this specific charge.
- id
-
- Type: string
Unique identifier of the charge for a given agreement.
- time
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the charge is due to be invoiced. This is available only when the charge date is known.
- timing
-
- Type: string
Indicates when the charge amount will be incurred. Values include
ON_ACCEPTANCE(charged immediately when the agreement request is accepted),BILLING_PERIOD(charged on each billing period), andSCHEDULED(charged at a predetermined future date).
Filter
Description
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.
Members
- name
-
- Type: string
The name of the filter.
- values
-
- Type: Array of strings
The filter value.
FixedUpfrontPricingTerm
Description
Defines a prepaid pricing model where the customers are charged a fixed upfront amount.
Members
- currencyCode
-
- Type: string
Defines the currency for the prices mentioned in this term.
- duration
-
- Type: string
Contract duration for the terms.
- grants
-
- Type: Array of GrantItem structures
Entitlements granted to the acceptor of fixed upfront as part of agreement execution.
- id
-
- Type: string
The unique identifier for the term.
- price
-
- Type: string
Fixed amount to be charged to the customer when this term is accepted.
- type
-
- Type: string
Category of the term being updated.
FreeTrialPricingTerm
Description
Defines a short-term free pricing model where the buyers aren’t charged anything within a specified limit.
Members
- duration
-
- Type: string
Duration of the free trial period (5–31 days).
- grants
-
- Type: Array of GrantItem structures
Entitlements granted to the acceptor of a free trial as part of an agreement execution.
- id
-
- Type: string
The unique identifier for the terms.
- type
-
- Type: string
Category of the term.
GrantItem
Description
Entitlements granted to the acceptor of fixed upfront as part of agreement execution.
Members
- dimensionKey
-
- Type: string
Unique dimension key defined in the product document. Dimensions represent categories of capacity in a product and are specified when the product is listed in AWS Marketplace.
- maxQuantity
-
- Type: int
Maximum amount of capacity that the buyer can be entitled to the given dimension of the product. If
MaxQuantityis not provided, the buyer will be able to use an unlimited amount of the given dimension.
InternalServerException
Description
Unexpected error during processing of request.
Members
- message
-
- Type: string
Description of the error.
- requestId
-
- Type: string
The unique identifier for the error.
InvoiceBillingPeriod
Description
The billing period for an invoice, specified by month and year.
Members
- month
-
- Required: Yes
- Type: int
The billing period month. Valid range: 1-12.
- year
-
- Required: Yes
- Type: int
The billing period year.
InvoicingEntity
Description
The entity responsible for issuing the invoice.
Members
- branchName
-
- Type: string
The branch where the issuing entity is operating from.
- legalName
-
- Type: string
Legal name of the entity issuing the invoice.
ItemizedCharge
Description
A breakdown of individual charges or line items within a billing or pricing context.
Members
- chargeReference
-
- Type: string
The identifier of the expected charge that this itemized charge contributes to.
- dimensionKey
-
- Type: string
The dimension key as specified in the accepted term.
- incrementalChargeAmount
-
- Type: string
The total incremental charge amount for this dimension.
- newQuantity
-
- Type: int
The requested quantity for this dimension.
- oldQuantity
-
- Type: int
The existing quantity for this dimension from the source agreement. This value is
0for NEW intent.
LegalTerm
Description
Defines the list of text agreements proposed to the acceptors. An example is the end user license agreement (EULA).
Members
- documents
-
- Type: Array of DocumentItem structures
List of references to legal resources proposed to the buyers. An example is the EULA.
- id
-
- Type: string
The unique identifer for the term.
- type
-
- Type: string
Category of the term being updated.
PaymentRequestSummary
Description
Summary view of a payment request.
Members
- agreementId
-
- Type: string
The unique identifier of the agreement associated with this payment request.
- chargeAmount
-
- Type: string
The amount charged or to be charged to the buyer.
- chargeId
-
- Type: string
The unique identifier of the charge created after the payment request is approved. This field is only present for approved payment requests.
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the payment request was created.
- currencyCode
-
- Type: string
The currency code for the charge amount.
- name
-
- Type: string
The descriptive name of the payment request.
- paymentRequestId
-
- Type: string
The unique identifier of the payment request.
- status
-
- Type: string
The current status of the payment request. Possible values include
VALIDATING,VALIDATION_FAILED,PENDING_APPROVAL,APPROVED,REJECTED, andCANCELLED. - updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date and time when the payment request was last updated.
PaymentScheduleTerm
Description
Defines an installment-based pricing model where customers are charged a fixed price on different dates during the agreement validity period. This is used most commonly for flexible payment schedule pricing.
Members
- currencyCode
-
- Type: string
Defines the currency for the prices mentioned in the term.
- id
-
- Type: string
The unique identifier for the term.
- schedule
-
- Type: Array of ScheduleItem structures
List of the payment schedule where each element defines one installment of payment. It contains the information necessary for calculating the price.
- type
-
- Type: string
Type of the term.
PricingCurrencyAmount
Description
Monetary amounts associated with an invoice line item group.
Members
- amount
-
- Type: string
The monetary amount before tax.
- currencyCode
-
- Type: string
The 3-letter ISO 4217 currency code (e.g.,
USD,EUR,JPY). - maxAdjustmentAmount
-
- Type: string
The maximum refundable amount as a string representation of a decimal number.
ProposalSummary
Description
A summary of the proposal received from the proposer.
Members
- offerId
-
- Type: string
The unique identifier of the offer in AWS Marketplace.
- offerSetId
-
- Type: string
A unique identifier for the offer set containing this offer. All agreements created from offers in this set include this identifier as context.
- resources
-
- Type: Array of Resource structures
The list of resources involved in the agreement.
Proposer
Description
Details of the party proposing the agreement terms,. This is commonly the seller for PurchaseAgreement.
Members
- accountId
-
- Type: string
The AWS account ID of the proposer.
PurchaseOrder
Description
Contains information about a purchase order association to a charge within an agreement.
Members
- agreementId
-
- Type: string
The unique identifier of the agreement associated with this charge.
- chargeId
-
- Required: Yes
- Type: string
The unique identifier of the charge to associate the purchase order with.
- chargeRevision
-
- Type: long (int|float)
The revision of the charge.
- purchaseOrderReference
-
- Type: string
The purchase order reference to associate with the charge.
RateCardItem
Description
Defines the per unit rates for each individual product dimension.
Members
- dimensionKey
-
- Type: string
Dimension for which the given entitlement applies. Dimensions represent categories of capacity in a product and are specified when the product is listed in AWS Marketplace.
- price
-
- Type: string
Per unit price for the product dimension that’s used for calculating the amount to be charged.
RecurringPaymentTerm
Description
Defines a pricing model where customers are charged a fixed recurring price at the end of each billing period.
Members
- billingPeriod
-
- Type: string
Defines the recurrence at which buyers are charged.
- currencyCode
-
- Type: string
Defines the currency for the prices mentioned in this term.
- id
-
- Type: string
The unique identifier for the term.
- price
-
- Type: string
Amount charged to the buyer every billing period.
- type
-
- Type: string
Type of the term being updated.
RenewalTerm
Description
Defines that on graceful expiration of the agreement (when the agreement ends on its pre-defined end date), a new agreement will be created using the accepted terms on the existing agreement. In other words, the agreement will be renewed. The presence of RenewalTerm in the offer document means that auto-renewal is allowed. Buyers will have the option to accept or decline auto-renewal at the offer acceptance/agreement creation. Buyers can also change this flag from True to False or False to True at anytime during the agreement's lifecycle.
Members
- configuration
-
- Type: RenewalTermConfiguration structure
Additional parameters specified by the acceptor while accepting the term.
- id
-
- Type: string
The unique identifier for the term.
- type
-
- Type: string
Category of the term being updated.
RenewalTermConfiguration
Description
Additional parameters specified by the acceptor while accepting the term.
Members
- enableAutoRenew
-
- Required: Yes
- Type: boolean
Defines whether the acceptor has chosen to auto-renew the agreement at the end of its lifecycle. Can be set to
TrueorFalse.
RequestedTerm
Description
Defines what is being accepted as part of the agreement creation or update request, and it includes their configurations.
Members
- configuration
-
- Type: RequestedTermConfiguration structure
Additional configuration for the requested terms. This configuration is applicable only to the terms that accept a customer-provided configuration, such as
ConfigurableUpfrontPricingTerm. - id
-
- Required: Yes
- Type: string
The unique identifier of the term in the agreement proposal.
RequestedTermConfiguration
Description
A tagged union that represents the term configuration provided by the acceptor. Only one configuration is accepted per term.
Members
- configurableUpfrontPricingTermConfiguration
-
- Type: ConfigurableUpfrontPricingTermConfiguration structure
Defines a prepaid payment model that allows buyers to configure the entitlements they want to purchase and the duration.
- renewalTermConfiguration
-
- Type: RenewalTermConfiguration structure
Additional parameters specified by the acceptor while accepting the term.
- variablePaymentTermConfiguration
-
- Type: VariablePaymentTermConfiguration structure
Additional parameters specified by the acceptor while accepting the variable payment term.
Resource
Description
The list of resources involved in the agreement.
Members
- id
-
- Type: string
The unique identifier of the resource.
We mention the term resource, which is most commonly a product, so a
resourceIdis also aproductId. - type
-
- Type: string
Type of the resource, which is the product (for example,
SaaSProduct,AmiProduct,ContainerProduct).
ResourceNotFoundException
Description
Request references a resource which does not exist.
Members
- message
-
- Type: string
Description of the error.
- requestId
-
- Type: string
The unique identifier for the error.
- resourceId
-
- Type: string
The unique identifier for the resource.
- resourceType
-
- Type: string
The type of resource.
ScheduleItem
Description
An individual installment of the payment that includes the date and amount of the charge.
Members
- chargeAmount
-
- Type: string
The price that the customer would pay on the scheduled date (chargeDate).
- chargeDate
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The date that the customer would pay the price defined in this payment schedule term. Invoices are generated on the date provided.
Selector
Description
Differentiates between the mutually exclusive rate cards in the same pricing term to be selected by the buyer.
Members
- type
-
- Type: string
Category of selector.
- value
-
- Type: string
Contract duration. This field supports the ISO 8601 format.
ServiceQuotaExceededException
Description
Request exceeded the maximum allowed limit (quota) for a specific resource or API operation.
Members
- message
-
- Type: string
Description of the error.
- quotaCode
-
- Type: string
The code of the quota that was exceeded.
- requestId
-
- Type: string
The unique identifier for the error.
- resourceId
-
- Type: string
The unique identifier of the resource that exceeded the quota.
- resourceType
-
- Type: string
The type of the resource that exceeded the quota.
- serviceCode
-
- Type: string
The code of the service whose quota was exceeded.
Sort
Description
An object that contains the SortBy and SortOrder attributes.
Members
- sortBy
-
- Type: string
The attribute on which the data is grouped, which can be by
StartTimeandEndTime. The default value isEndTime. - sortOrder
-
- Type: string
The sorting order, which can be
ASCENDINGorDESCENDING. The default value isDESCENDING.
SupportTerm
Description
Defines the customer support available for the acceptors when they purchase the software.
Members
- id
-
- Type: string
The unique identifier for the term.
- refundPolicy
-
- Type: string
Free-text field about the refund policy description that will be shown to customers as is on the website and console.
- type
-
- Type: string
Category of the term being updated.
TaxBreakdownItem
Description
Represents a single tax breakdown entry with amount, rate, and type.
Members
- amount
-
- Type: string
The estimated tax amount.
- rate
-
- Type: string
The tax rate, in decimals.
- type
-
- Type: string
The type of tax (for example, VAT, ST, or GST).
TaxConfiguration
Description
Configuration controls for tax estimation in the agreement request.
Members
- taxEstimation
-
- Type: string
Toggle to estimate tax as part of the response. Values include
ENABLEDandDISABLED. Default isDISABLED.
ThrottlingException
Description
Request was denied due to request throttling.
Members
- message
-
- Type: string
Description of the error.
- requestId
-
- Type: string
The unique identifier for the error.
UsageBasedPricingTerm
Description
Defines a usage-based pricing model (typically, pay-as-you-go pricing), where the customers are charged based on product usage.
Members
- currencyCode
-
- Type: string
Defines the currency for the prices mentioned in the term.
- id
-
- Type: string
The unique identifier for the term.
- rateCards
-
- Type: Array of UsageBasedRateCardItem structures
List of rate cards.
- type
-
- Type: string
Category of the term.
UsageBasedRateCardItem
Description
Within the pay-as-you-go model defined under UsageBasedPricingTerm, the UsageBasedRateCardItem defines an individual rate for a product dimension.
Members
- rateCard
-
- Type: Array of RateCardItem structures
Defines the per unit rates for product dimensions.
ValidationException
Description
The input fails to satisfy the constraints specified by the service.
Members
- fields
-
- Type: Array of ValidationExceptionField structures
The fields associated with the error.
- message
-
- Type: string
Description of the error.
- reason
-
- Type: string
The reason associated with the error.
- requestId
-
- Type: string
The unique identifier associated with the error.
ValidationExceptionField
Description
The input fails to satisfy the constraints specified by the service.
Members
- message
-
- Required: Yes
- Type: string
See applicable actions.
- name
-
- Required: Yes
- Type: string
The name of the field associated with the error.
ValidityTerm
Description
Defines the conditions that will keep an agreement created from this offer valid.
Members
- agreementDuration
-
- Type: string
Defines the duration that the agreement remains active. If
AgreementStartDateisn’t provided, the agreement duration is relative to the agreement signature time. The duration is represented in the ISO_8601 format. - agreementEndDate
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
Defines the date when the agreement ends. The agreement ends at 23:59:59.999 UTC on the date provided. If
AgreementEndDateisn’t provided, the agreement end date is determined by the validity of individual terms. - agreementStartDate
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
Defines the date when agreement starts. The agreement starts at 00:00:00.000 UTC on the date provided. If
AgreementStartDateisn’t provided, the agreement start date is determined based on agreement signature time. - id
-
- Type: string
The unique identifier for the term.
- type
-
- Type: string
Category of the term being updated.
VariablePaymentTerm
Description
Defines a payment model where sellers can submit variable payment requests up to a maximum charge amount, with configurable approval strategies and expiration timelines.
Members
- configuration
-
- Type: VariablePaymentTermConfiguration structure
Additional parameters specified by the acceptor while accepting the term.
- currencyCode
-
- Type: string
Defines the currency for the prices mentioned in the term.
- id
-
- Type: string
The unique identifier for the term.
- maxTotalChargeAmount
-
- Type: string
The maximum total amount that can be charged to the customer through variable payment requests under this term.
- type
-
- Type: string
Type of the term.
VariablePaymentTermConfiguration
Description
Additional parameters specified by the acceptor while accepting the variable payment term.
Members
- expirationDuration
-
- Type: string
Defines the duration after which a payment request is automatically approved if no further action is taken. This only applies when the payment request approval strategy is set to
AUTO_APPROVE_ON_EXPIRATION. The duration is represented in the ISO_8601 format (e.g., P10D for 10 days). - paymentRequestApprovalStrategy
-
- Required: Yes
- Type: string
Defines the strategy for approving payment requests. Values include
AUTO_APPROVE_ON_EXPIRATIONandWAIT_FOR_APPROVAL