PurchaseOffering - AWS Device Farm


Immediately purchases offerings for an AWS account. Offerings renew with the latest total purchased quantity for an offering, unless the renewal was overridden. The API returns a NotEligible error if the user is not permitted to invoke the operation. If you must be able to invoke this operation, contact aws-devicefarm-support@amazon.com.

Request Syntax

{ "offeringId": "string", "offeringPromotionId": "string", "quantity": number }

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.


The ID of the offering.

Type: String

Length Constraints: Minimum length of 32.

Required: Yes


The ID of the offering promotion to be applied to the purchase.

Type: String

Length Constraints: Minimum length of 4.

Required: No


The number of device slots to purchase in an offering request.

Type: Integer

Required: Yes

Response Syntax

{ "offeringTransaction": { "cost": { "amount": number, "currencyCode": "string" }, "createdOn": number, "offeringPromotionId": "string", "offeringStatus": { "effectiveOn": number, "offering": { "description": "string", "id": "string", "platform": "string", "recurringCharges": [ { "cost": { "amount": number, "currencyCode": "string" }, "frequency": "string" } ], "type": "string" }, "quantity": number, "type": "string" }, "transactionId": "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.


Represents the offering transaction for the purchase result.

Type: OfferingTransaction object


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


An invalid argument was specified.

HTTP Status Code: 400


A limit was exceeded.

HTTP Status Code: 400


Exception gets thrown when a user is not eligible to perform the specified transaction.

HTTP Status Code: 400


The specified entity was not found.

HTTP Status Code: 400


There was a problem with the service account.

HTTP Status Code: 400



The following example purchases one unmetered iOS device.

Sample Request

{ "transactions": [ "purchase": { "offeringId": "offering-id-ios", "quantity": 1 } ] }

Sample Response

{ "offeringTransaction": { "createdOn": 1458587590.308, "offeringStatus": { "effectiveOn": 1458587590.24, "type": "RECURRING", "offering": { "platform": "IOS", "type": "RECURRING", "id": "offering-id-ios", "description": "iOS Unmetered Device Slot" }, "quantity": 1 }, "cost": { "amount": 80.65, "currencyCode": "USD" }, "transactionId": "transaction-id" } }

See Also

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