View a markdown version of this page

BatchCreateBillingAdjustmentRequest - AWS Marketplace

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, error code, and message.

Type: Array of BatchCreateBillingAdjustmentError objects

items

A list of successfully created billing adjustment items, each containing the billingAdjustmentRequestId and clientToken.

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: