SendAgreementCancellationRequest
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.
Request Syntax
{
"agreementId": "string",
"clientToken": "string",
"description": "string",
"reasonCode": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
Note
In the following list, the required parameters are described first.
- agreementId
-
The unique identifier of the agreement for which the cancellation request is being submitted.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[A-Za-z0-9_/-]+Required: Yes
- reasonCode
-
The reason code for the cancellation request.
Type: String
Valid Values:
INCORRECT_TERMS_ACCEPTED | REPLACING_AGREEMENT | TEST_AGREEMENT | ALTERNATIVE_PROCUREMENT_CHANNEL | PRODUCT_DISCONTINUED | UNINTENDED_RENEWAL | BUYER_DISSATISFACTION | OTHERRequired: Yes
- clientToken
-
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[a-zA-Z0-9-]+Required: No
- description
-
An optional detailed description of the cancellation reason (1-2000 characters).
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2000.
Required: No
Response Syntax
{
"agreementCancellationRequestId": "string",
"agreementId": "string",
"createdAt": number,
"description": "string",
"reasonCode": "string",
"status": "string",
"updatedAt": number
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- agreementCancellationRequestId
-
The unique identifier for the created cancellation request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
acr-[a-zA-Z0-9]+ - agreementId
-
The unique identifier of the agreement.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[A-Za-z0-9_/-]+ - createdAt
-
The time when the cancellation request was created.
Type: Timestamp
- description
-
The detailed description of the cancellation reason, if provided.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2000.
- reasonCode
-
The reason code provided for the cancellation.
Type: String
Valid Values:
INCORRECT_TERMS_ACCEPTED | REPLACING_AGREEMENT | TEST_AGREEMENT | ALTERNATIVE_PROCUREMENT_CHANNEL | PRODUCT_DISCONTINUED | UNINTENDED_RENEWAL | BUYER_DISSATISFACTION | OTHER - status
-
The current status of the cancellation request. The initial status is
PENDING_APPROVAL.Type: String
Valid Values:
PENDING_APPROVAL | APPROVED | REJECTED | CANCELLED | VALIDATION_FAILED - updatedAt
-
The time when the cancellation request was last updated.
Type: Timestamp
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedException
-
User does not have sufficient access to perform this action.
- message
-
Description of the error.
- reason
-
The reason for the access denied exception.
- requestId
-
The unique identifier for the error.
HTTP Status Code: 400
- ConflictException
-
Request was denied due to a resource conflict.
- message
-
Description of the error.
- requestId
-
The unique identifier for the error.
- resourceId
-
The unique identifier of the resource involved in the conflict.
- resourceType
-
The type of the resource involved in the conflict.
HTTP Status Code: 400
- InternalServerException
-
Unexpected error during processing of request.
- message
-
Description of the error.
- requestId
-
The unique identifier for the error.
HTTP Status Code: 500
- ResourceNotFoundException
-
Request references a resource which does not exist.
- message
-
Description of the error.
- requestId
-
The unique identifier for the error.
- resourceId
-
The unique identifier for the resource.
- resourceType
-
The type of resource.
HTTP Status Code: 400
- ThrottlingException
-
Request was denied due to request throttling.
- message
-
Description of the error.
- requestId
-
The unique identifier for the error.
HTTP Status Code: 400
- ValidationException
-
The input fails to satisfy the constraints specified by the service.
- fields
-
The fields associated with the error.
- message
-
Description of the error.
- reason
-
The reason associated with the error.
- requestId
-
The unique identifier associated with the error.
HTTP Status Code: 400
Examples
Sample request
This example illustrates one usage of SendAgreementCancellationRequest.
{ "agreementId": "agmt-EXAMPLE752jqvg74yo7k", "reasonCode": "OTHER", "description": "Due to budget constraints, we are unable to continue with our current subscription", "clientToken": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
Sample response
This example illustrates one usage of SendAgreementCancellationRequest.
{ "agreementId": "agmt-EXAMPLE752jqvg74yo7k", "agreementCancellationRequestId": "acr-EXAMPLE752jqvg74yo7k", "status": "PENDING_APPROVAL", "reasonCode": "OTHER", "description": "Due to budget constraints, we are unable to continue with our current subscription", "createdAt": 1736935800, "updatedAt": 1736935800 }
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: