Menu
AWS Marketplace Metering Service
API Reference (API Version 2016-01-14)

BatchMeterUsage

BatchMeterUsage is called from a SaaS application listed on the AWS Marketplace to post metering records for a set of customers.

For identical requests, the API is idempotent; requests can be retried with the same records or a subset of the input records.

Every request to BatchMeterUsage is for one product. If you need to meter usage for multiple products, you must make multiple calls to BatchMeterUsage.

BatchMeterUsage can process up to 25 UsageRecords at a time.

Request Syntax

Copy
{ "ProductCode": "string", "UsageRecords": [ { "CustomerIdentifier": "string", "Dimension": "string", "Quantity": number, "Timestamp": number } ] }

Request Parameters

The request accepts the following data in JSON format.

Note

In the following list, the required parameters are described first.

ProductCode

Product code is used to uniquely identify a product in AWS Marketplace. The product code should be the same as the one used during the publishing of a new product.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 255.

Required: Yes

UsageRecords

The set of UsageRecords to submit. BatchMeterUsage accepts up to 25 UsageRecords at a time.

Type: Array of UsageRecord objects

Array Members: Minimum number of 0 items. Maximum number of 25 items.

Required: Yes

Response Syntax

Copy
{ "Results": [ { "MeteringRecordId": "string", "Status": "string", "UsageRecord": { "CustomerIdentifier": "string", "Dimension": "string", "Quantity": number, "Timestamp": number } } ], "UnprocessedRecords": [ { "CustomerIdentifier": "string", "Dimension": "string", "Quantity": number, "Timestamp": 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.

Results

Contains all UsageRecords processed by BatchMeterUsage. These records were either honored by AWS Marketplace Metering Service or were invalid.

Type: Array of UsageRecordResult objects

UnprocessedRecords

Contains all UsageRecords that were not processed by BatchMeterUsage. This is a list of UsageRecords. You can retry the failed request by making another BatchMeterUsage call with this list as input in the BatchMeterUsageRequest.

Type: Array of UsageRecord objects

Array Members: Minimum number of 0 items. Maximum number of 25 items.

Errors

For information about the errors that are common to all actions, see Common Errors.

InternalServiceErrorException

An internal error has occurred. Retry your request. If the problem persists, post a message with details on the AWS forums.

HTTP Status Code: 500

InvalidCustomerIdentifierException

You have metered usage for a CustomerIdentifier that does not exist.

HTTP Status Code: 400

InvalidProductCodeException

The product code passed does not match the product code used for publishing the product.

HTTP Status Code: 400

InvalidUsageDimensionException

The usage dimension does not match one of the UsageDimensions associated with products.

HTTP Status Code: 400

ThrottlingException

The calls to the MeterUsage API are throttled.

HTTP Status Code: 400

TimestampOutOfBoundsException

The timestamp value passed in the meterUsage() is out of allowed range.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: