PurchaseOffering - AWS Device Farm Documentation

PurchaseOffering

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.

offeringId

The ID of the offering.

Type: String

Length Constraints: Minimum length of 32.

Required: Yes

offeringPromotionId

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

Type: String

Length Constraints: Minimum length of 4.

Required: No

quantity

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.

offeringTransaction

Represents the offering transaction for the purchase result.

Type: OfferingTransaction object

Errors

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

ArgumentException

An invalid argument was specified.

HTTP Status Code: 400

LimitExceededException

A limit was exceeded.

HTTP Status Code: 400

NotEligibleException

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

HTTP Status Code: 400

NotFoundException

The specified entity was not found.

HTTP Status Code: 400

ServiceAccountException

There was a problem with the service account.

HTTP Status Code: 400

Examples

Example

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: