AWS Cost Explorer Service
Cost Management APIs

DescribeBudgetPerformanceHistory

Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history isn't available for ANNUAL budgets.

Request Syntax

{ "AccountId": "string", "BudgetName": "string", "MaxResults": number, "NextToken": "string", "TimePeriod": { "End": number, "Start": 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.

AccountId

The account ID of the user. It should be a 12-digit number.

Type: String

Length Constraints: Fixed length of 12.

Pattern: \d{12}

Required: Yes

BudgetName

A string that represents the budget name. The ":" and "\" characters aren't allowed.

Type: String

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

Pattern: [^:\\]+

Required: Yes

MaxResults

An integer that represents how many entries a paginated response contains. The maximum is 100.

Type: Integer

Valid Range: Minimum value of 1. Maximum value of 100.

Required: No

NextToken

A generic string.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 2147483647.

Pattern: .*

Required: No

TimePeriod

Retrieves how often the budget went into an ALARM state for the specified time period.

Type: TimePeriod object

Required: No

Response Syntax

{ "BudgetPerformanceHistory": { "BudgetedAndActualAmountsList": [ { "ActualAmount": { "Amount": "string", "Unit": "string" }, "BudgetedAmount": { "Amount": "string", "Unit": "string" }, "TimePeriod": { "End": number, "Start": number } } ], "BudgetName": "string", "BudgetType": "string", "CostFilters": { "string" : [ "string" ] }, "CostTypes": { "IncludeCredit": boolean, "IncludeDiscount": boolean, "IncludeOtherSubscription": boolean, "IncludeRecurring": boolean, "IncludeRefund": boolean, "IncludeSubscription": boolean, "IncludeSupport": boolean, "IncludeTax": boolean, "IncludeUpfront": boolean, "UseAmortized": boolean, "UseBlended": boolean }, "TimeUnit": "string" }, "NextToken": "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.

BudgetPerformanceHistory

The history of how often the budget has gone into an ALARM state.

For DAILY budgets, the history saves the state of the budget for the last 60 days. For MONTHLY budgets, the history saves the state of the budget for the current month plus the last 12 months. For QUARTERLY budgets, the history saves the state of the budget for the last four quarters.

Type: BudgetPerformanceHistory object

NextToken

A generic string.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 2147483647.

Pattern: .*

Errors

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

ExpiredNextTokenException

The pagination token expired.

HTTP Status Code: 400

InternalErrorException

An error on the server occurred during the processing of your request. Try again later.

HTTP Status Code: 400

InvalidNextTokenException

The pagination token is invalid.

HTTP Status Code: 400

InvalidParameterException

An error on the client occurred. Typically, the cause is an invalid input value.

HTTP Status Code: 400

NotFoundException

We can’t locate the resource that you specified.

HTTP Status Code: 400

Example

The following is a sample request of the DescribeBudgetPerformanceHistory operation.

Sample Request

GET HTTP/1.1 Host: awsbudgets.<region>.<domain> x-amz-Date: <Date> Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=contenttype;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid,Signature=<Signature> User-Agent: <UserAgentString> Content-Type: application/x-amz-json-1.1 Content-Length: <PayloadSizeBytes> Connection: Keep-Alive X-Amz-Target: AWSBudgetServiceGateway.DescribeBudgetPerformanceHistory { "AccountId": "111122223333", "Budget": "ExampleBudget" }

Sample Response

{ "BudgetPerformanceHistory": { "BudgetedAndActualAmountsList": [ { "ActualAmount": { "Amount": "50", "Unit": "USD" }, "BudgetedAmount": { "Amount": "100", "Unit": "USD" }, "TimePeriod": { "End": 1477958399, "Start": 1477353600 } } ], "BudgetName": "ExampleBudget", "BudgetType": "COST", "CostFilters": { "AZ" : [ "us-east-1" ] }, "CostTypes": { "IncludeCredit": true, "IncludeDiscount": true, "IncludeOtherSubscription": true, "IncludeRecurring": true, "IncludeRefund": true, "IncludeSubscription": true, "IncludeSupport": true, "IncludeTax": true, "IncludeUpfront": true, "UseBlended": false }, "TimeUnit": "MONTHLY" } }

See Also

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