BatchCreateBillingAdjustmentRequest
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.
Note
Each entry requires a unique clientToken for idempotency.
Request Syntax
{
"billingAdjustmentRequestEntries": [
{
"adjustmentAmount": "string",
"adjustmentReasonCode": "string",
"agreementId": "string",
"clientToken": "string",
"currencyCode": "string",
"description": "string",
"originalInvoiceId": "string"
}
]
}
Request Parameters
The request accepts the following data in JSON format.
Note
In the following list, the required parameters are described first.
- billingAdjustmentRequestEntries
-
A list of billing adjustment request entries. Each entry specifies the invoice and adjustment details.
Type: Array of BatchCreateBillingAdjustmentRequestEntry objects
Required: Yes
Response Syntax
{
"errors": [
{
"clientToken": "string",
"code": "string",
"message": "string"
}
],
"items": [
{
"billingAdjustmentRequestId": "string",
"clientToken": "string"
}
]
}
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.
- errors
-
A list of errors for entries that failed validation, each containing the
clientToken, errorcode, andmessage.Type: Array of BatchCreateBillingAdjustmentError objects
- items
-
A list of successfully created billing adjustment items, each containing the
billingAdjustmentRequestIdandclientToken.Type: Array of BatchCreateBillingAdjustmentItem objects
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.
- requestId
-
The unique identifier for the error.
HTTP Status Code: 400
- ConflictException
-
The request could not be completed due to a conflict with the current state of the resource.
- requestId
-
The unique identifier for the error.
- resourceId
-
The unique identifier for the resource.
- resourceType
-
The type of resource.
HTTP Status Code: 400
- InternalServerException
-
Unexpected error during processing of request.
- requestId
-
The unique identifier for the error.
HTTP Status Code: 500
- ThrottlingException
-
Request was denied due to request throttling.
- 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.
- 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 BatchCreateBillingAdjustmentRequest.
{ "billingAdjustmentRequestEntries": [ { "originalInvoiceId": "E2E20230929a108cfae", "agreementId": "agmt-EXAMPLESvIzsqYMyQwI3", "adjustmentAmount": "500.00", "currencyCode": "USD", "clientToken": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "adjustmentReasonCode": "OTHER", "description": "Customer requested adjustment due to service outage during critical business period." }, { "originalInvoiceId": "E2E20230929b209dfbf", "agreementId": "agmt-EXAMPLESvIzsqYMyQwI3", "adjustmentAmount": "999999.00", "currencyCode": "USD", "clientToken": "d2a5e82e-a49b-4075-8c7f-EXAMPLE22222", "adjustmentReasonCode": "OTHER", "description": "Customer requested adjustment due to service outage during critical business period." } ] }
Sample response
This example illustrates one usage of BatchCreateBillingAdjustmentRequest.
{ "items": [ { "billingAdjustmentRequestId": "ba-EXAMPLE1a2b3c4d5e", "clientToken": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } ], "errors": [ { "clientToken": "d2a5e82e-a49b-4075-8c7f-EXAMPLE22222", "code": "VALIDATION_EXCEPTION", "message": "Refund amount $999999.00 exceeds maximum refundable amount $200.00" } ] }
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: