

# Actions


The following actions are supported by Amazon Cost Explorer:
+  [CreateAnomalyMonitor](API_CreateAnomalyMonitor.md) 
+  [CreateAnomalySubscription](API_CreateAnomalySubscription.md) 
+  [CreateCostCategoryDefinition](API_CreateCostCategoryDefinition.md) 
+  [DeleteAnomalyMonitor](API_DeleteAnomalyMonitor.md) 
+  [DeleteAnomalySubscription](API_DeleteAnomalySubscription.md) 
+  [DeleteCostCategoryDefinition](API_DeleteCostCategoryDefinition.md) 
+  [DescribeCostCategoryDefinition](API_DescribeCostCategoryDefinition.md) 
+  [GetAnomalies](API_GetAnomalies.md) 
+  [GetAnomalyMonitors](API_GetAnomalyMonitors.md) 
+  [GetAnomalySubscriptions](API_GetAnomalySubscriptions.md) 
+  [GetApproximateUsageRecords](API_GetApproximateUsageRecords.md) 
+  [GetCommitmentPurchaseAnalysis](API_GetCommitmentPurchaseAnalysis.md) 
+  [GetCostAndUsage](API_GetCostAndUsage.md) 
+  [GetCostAndUsageComparisons](API_GetCostAndUsageComparisons.md) 
+  [GetCostAndUsageWithResources](API_GetCostAndUsageWithResources.md) 
+  [GetCostCategories](API_GetCostCategories.md) 
+  [GetCostComparisonDrivers](API_GetCostComparisonDrivers.md) 
+  [GetCostForecast](API_GetCostForecast.md) 
+  [GetDimensionValues](API_GetDimensionValues.md) 
+  [GetReservationCoverage](API_GetReservationCoverage.md) 
+  [GetReservationPurchaseRecommendation](API_GetReservationPurchaseRecommendation.md) 
+  [GetReservationUtilization](API_GetReservationUtilization.md) 
+  [GetRightsizingRecommendation](API_GetRightsizingRecommendation.md) 
+  [GetSavingsPlanPurchaseRecommendationDetails](API_GetSavingsPlanPurchaseRecommendationDetails.md) 
+  [GetSavingsPlansCoverage](API_GetSavingsPlansCoverage.md) 
+  [GetSavingsPlansPurchaseRecommendation](API_GetSavingsPlansPurchaseRecommendation.md) 
+  [GetSavingsPlansUtilization](API_GetSavingsPlansUtilization.md) 
+  [GetSavingsPlansUtilizationDetails](API_GetSavingsPlansUtilizationDetails.md) 
+  [GetTags](API_GetTags.md) 
+  [GetUsageForecast](API_GetUsageForecast.md) 
+  [ListCommitmentPurchaseAnalyses](API_ListCommitmentPurchaseAnalyses.md) 
+  [ListCostAllocationTagBackfillHistory](API_ListCostAllocationTagBackfillHistory.md) 
+  [ListCostAllocationTags](API_ListCostAllocationTags.md) 
+  [ListCostCategoryDefinitions](API_ListCostCategoryDefinitions.md) 
+  [ListCostCategoryResourceAssociations](API_ListCostCategoryResourceAssociations.md) 
+  [ListSavingsPlansPurchaseRecommendationGeneration](API_ListSavingsPlansPurchaseRecommendationGeneration.md) 
+  [ListTagsForResource](API_ListTagsForResource.md) 
+  [ProvideAnomalyFeedback](API_ProvideAnomalyFeedback.md) 
+  [StartCommitmentPurchaseAnalysis](API_StartCommitmentPurchaseAnalysis.md) 
+  [StartCostAllocationTagBackfill](API_StartCostAllocationTagBackfill.md) 
+  [StartSavingsPlansPurchaseRecommendationGeneration](API_StartSavingsPlansPurchaseRecommendationGeneration.md) 
+  [TagResource](API_TagResource.md) 
+  [UntagResource](API_UntagResource.md) 
+  [UpdateAnomalyMonitor](API_UpdateAnomalyMonitor.md) 
+  [UpdateAnomalySubscription](API_UpdateAnomalySubscription.md) 
+  [UpdateCostAllocationTagsStatus](API_UpdateCostAllocationTagsStatus.md) 
+  [UpdateCostCategoryDefinition](API_UpdateCostCategoryDefinition.md) 

The following actions are supported by Amazon Billing and Cost Management Dashboards:
+  [CreateDashboard](API_bcmDashboards_CreateDashboard.md) 
+  [CreateScheduledReport](API_bcmDashboards_CreateScheduledReport.md) 
+  [DeleteDashboard](API_bcmDashboards_DeleteDashboard.md) 
+  [DeleteScheduledReport](API_bcmDashboards_DeleteScheduledReport.md) 
+  [ExecuteScheduledReport](API_bcmDashboards_ExecuteScheduledReport.md) 
+  [GetDashboard](API_bcmDashboards_GetDashboard.md) 
+  [GetResourcePolicy](API_bcmDashboards_GetResourcePolicy.md) 
+  [GetScheduledReport](API_bcmDashboards_GetScheduledReport.md) 
+  [ListDashboards](API_bcmDashboards_ListDashboards.md) 
+  [ListScheduledReports](API_bcmDashboards_ListScheduledReports.md) 
+  [ListTagsForResource](API_bcmDashboards_ListTagsForResource.md) 
+  [TagResource](API_bcmDashboards_TagResource.md) 
+  [UntagResource](API_bcmDashboards_UntagResource.md) 
+  [UpdateDashboard](API_bcmDashboards_UpdateDashboard.md) 
+  [UpdateScheduledReport](API_bcmDashboards_UpdateScheduledReport.md) 

The following actions are supported by Amazon Data Exports:
+  [CreateExport](API_DataExports_CreateExport.md) 
+  [DeleteExport](API_DataExports_DeleteExport.md) 
+  [GetExecution](API_DataExports_GetExecution.md) 
+  [GetExport](API_DataExports_GetExport.md) 
+  [GetTable](API_DataExports_GetTable.md) 
+  [ListExecutions](API_DataExports_ListExecutions.md) 
+  [ListExports](API_DataExports_ListExports.md) 
+  [ListTables](API_DataExports_ListTables.md) 
+  [ListTagsForResource](API_DataExports_ListTagsForResource.md) 
+  [TagResource](API_DataExports_TagResource.md) 
+  [UntagResource](API_DataExports_UntagResource.md) 
+  [UpdateExport](API_DataExports_UpdateExport.md) 

The following actions are supported by Amazon Pricing Calculator:
+  [BatchCreateBillScenarioCommitmentModification](API_AWSBCMPricingCalculator_BatchCreateBillScenarioCommitmentModification.md) 
+  [BatchCreateBillScenarioUsageModification](API_AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModification.md) 
+  [BatchCreateWorkloadEstimateUsage](API_AWSBCMPricingCalculator_BatchCreateWorkloadEstimateUsage.md) 
+  [BatchDeleteBillScenarioCommitmentModification](API_AWSBCMPricingCalculator_BatchDeleteBillScenarioCommitmentModification.md) 
+  [BatchDeleteBillScenarioUsageModification](API_AWSBCMPricingCalculator_BatchDeleteBillScenarioUsageModification.md) 
+  [BatchDeleteWorkloadEstimateUsage](API_AWSBCMPricingCalculator_BatchDeleteWorkloadEstimateUsage.md) 
+  [BatchUpdateBillScenarioCommitmentModification](API_AWSBCMPricingCalculator_BatchUpdateBillScenarioCommitmentModification.md) 
+  [BatchUpdateBillScenarioUsageModification](API_AWSBCMPricingCalculator_BatchUpdateBillScenarioUsageModification.md) 
+  [BatchUpdateWorkloadEstimateUsage](API_AWSBCMPricingCalculator_BatchUpdateWorkloadEstimateUsage.md) 
+  [CreateBillEstimate](API_AWSBCMPricingCalculator_CreateBillEstimate.md) 
+  [CreateBillScenario](API_AWSBCMPricingCalculator_CreateBillScenario.md) 
+  [CreateWorkloadEstimate](API_AWSBCMPricingCalculator_CreateWorkloadEstimate.md) 
+  [DeleteBillEstimate](API_AWSBCMPricingCalculator_DeleteBillEstimate.md) 
+  [DeleteBillScenario](API_AWSBCMPricingCalculator_DeleteBillScenario.md) 
+  [DeleteWorkloadEstimate](API_AWSBCMPricingCalculator_DeleteWorkloadEstimate.md) 
+  [GetBillEstimate](API_AWSBCMPricingCalculator_GetBillEstimate.md) 
+  [GetBillScenario](API_AWSBCMPricingCalculator_GetBillScenario.md) 
+  [GetPreferences](API_AWSBCMPricingCalculator_GetPreferences.md) 
+  [GetWorkloadEstimate](API_AWSBCMPricingCalculator_GetWorkloadEstimate.md) 
+  [ListBillEstimateCommitments](API_AWSBCMPricingCalculator_ListBillEstimateCommitments.md) 
+  [ListBillEstimateInputCommitmentModifications](API_AWSBCMPricingCalculator_ListBillEstimateInputCommitmentModifications.md) 
+  [ListBillEstimateInputUsageModifications](API_AWSBCMPricingCalculator_ListBillEstimateInputUsageModifications.md) 
+  [ListBillEstimateLineItems](API_AWSBCMPricingCalculator_ListBillEstimateLineItems.md) 
+  [ListBillEstimates](API_AWSBCMPricingCalculator_ListBillEstimates.md) 
+  [ListBillScenarioCommitmentModifications](API_AWSBCMPricingCalculator_ListBillScenarioCommitmentModifications.md) 
+  [ListBillScenarios](API_AWSBCMPricingCalculator_ListBillScenarios.md) 
+  [ListBillScenarioUsageModifications](API_AWSBCMPricingCalculator_ListBillScenarioUsageModifications.md) 
+  [ListTagsForResource](API_AWSBCMPricingCalculator_ListTagsForResource.md) 
+  [ListWorkloadEstimates](API_AWSBCMPricingCalculator_ListWorkloadEstimates.md) 
+  [ListWorkloadEstimateUsage](API_AWSBCMPricingCalculator_ListWorkloadEstimateUsage.md) 
+  [TagResource](API_AWSBCMPricingCalculator_TagResource.md) 
+  [UntagResource](API_AWSBCMPricingCalculator_UntagResource.md) 
+  [UpdateBillEstimate](API_AWSBCMPricingCalculator_UpdateBillEstimate.md) 
+  [UpdateBillScenario](API_AWSBCMPricingCalculator_UpdateBillScenario.md) 
+  [UpdatePreferences](API_AWSBCMPricingCalculator_UpdatePreferences.md) 
+  [UpdateWorkloadEstimate](API_AWSBCMPricingCalculator_UpdateWorkloadEstimate.md) 

The following actions are supported by Amazon Billing and Cost Management Recommended Actions:
+  [ListRecommendedActions](API_BillingAndCostManagementRecommendedActions_ListRecommendedActions.md) 

The following actions are supported by Amazon Billing:
+  [AssociateSourceViews](API_billing_AssociateSourceViews.md) 
+  [CreateBillingView](API_billing_CreateBillingView.md) 
+  [DeleteBillingView](API_billing_DeleteBillingView.md) 
+  [DisassociateSourceViews](API_billing_DisassociateSourceViews.md) 
+  [GetBillingView](API_billing_GetBillingView.md) 
+  [GetResourcePolicy](API_billing_GetResourcePolicy.md) 
+  [ListBillingViews](API_billing_ListBillingViews.md) 
+  [ListSourceViewsForBillingView](API_billing_ListSourceViewsForBillingView.md) 
+  [ListTagsForResource](API_billing_ListTagsForResource.md) 
+  [TagResource](API_billing_TagResource.md) 
+  [UntagResource](API_billing_UntagResource.md) 
+  [UpdateBillingView](API_billing_UpdateBillingView.md) 

The following actions are supported by Amazon Budgets:
+  [CreateBudget](API_budgets_CreateBudget.md) 
+  [CreateBudgetAction](API_budgets_CreateBudgetAction.md) 
+  [CreateNotification](API_budgets_CreateNotification.md) 
+  [CreateSubscriber](API_budgets_CreateSubscriber.md) 
+  [DeleteBudget](API_budgets_DeleteBudget.md) 
+  [DeleteBudgetAction](API_budgets_DeleteBudgetAction.md) 
+  [DeleteNotification](API_budgets_DeleteNotification.md) 
+  [DeleteSubscriber](API_budgets_DeleteSubscriber.md) 
+  [DescribeBudget](API_budgets_DescribeBudget.md) 
+  [DescribeBudgetAction](API_budgets_DescribeBudgetAction.md) 
+  [DescribeBudgetActionHistories](API_budgets_DescribeBudgetActionHistories.md) 
+  [DescribeBudgetActionsForAccount](API_budgets_DescribeBudgetActionsForAccount.md) 
+  [DescribeBudgetActionsForBudget](API_budgets_DescribeBudgetActionsForBudget.md) 
+  [DescribeBudgetNotificationsForAccount](API_budgets_DescribeBudgetNotificationsForAccount.md) 
+  [DescribeBudgetPerformanceHistory](API_budgets_DescribeBudgetPerformanceHistory.md) 
+  [DescribeBudgets](API_budgets_DescribeBudgets.md) 
+  [DescribeNotificationsForBudget](API_budgets_DescribeNotificationsForBudget.md) 
+  [DescribeSubscribersForNotification](API_budgets_DescribeSubscribersForNotification.md) 
+  [ExecuteBudgetAction](API_budgets_ExecuteBudgetAction.md) 
+  [ListTagsForResource](API_budgets_ListTagsForResource.md) 
+  [TagResource](API_budgets_TagResource.md) 
+  [UntagResource](API_budgets_UntagResource.md) 
+  [UpdateBudget](API_budgets_UpdateBudget.md) 
+  [UpdateBudgetAction](API_budgets_UpdateBudgetAction.md) 
+  [UpdateNotification](API_budgets_UpdateNotification.md) 
+  [UpdateSubscriber](API_budgets_UpdateSubscriber.md) 

The following actions are supported by Amazon Cost Optimization Hub:
+  [GetPreferences](API_CostOptimizationHub_GetPreferences.md) 
+  [GetRecommendation](API_CostOptimizationHub_GetRecommendation.md) 
+  [ListEfficiencyMetrics](API_CostOptimizationHub_ListEfficiencyMetrics.md) 
+  [ListEnrollmentStatuses](API_CostOptimizationHub_ListEnrollmentStatuses.md) 
+  [ListRecommendations](API_CostOptimizationHub_ListRecommendations.md) 
+  [ListRecommendationSummaries](API_CostOptimizationHub_ListRecommendationSummaries.md) 
+  [UpdateEnrollmentStatus](API_CostOptimizationHub_UpdateEnrollmentStatus.md) 
+  [UpdatePreferences](API_CostOptimizationHub_UpdatePreferences.md) 

The following actions are supported by Amazon Cost and Usage Report:
+  [DeleteReportDefinition](API_cur_DeleteReportDefinition.md) 
+  [DescribeReportDefinitions](API_cur_DescribeReportDefinitions.md) 
+  [ListTagsForResource](API_cur_ListTagsForResource.md) 
+  [ModifyReportDefinition](API_cur_ModifyReportDefinition.md) 
+  [PutReportDefinition](API_cur_PutReportDefinition.md) 
+  [TagResource](API_cur_TagResource.md) 
+  [UntagResource](API_cur_UntagResource.md) 

The following actions are supported by Amazon Web Services China Region Free Tier:
+  [GetAccountActivity](API_freetier_GetAccountActivity.md) 
+  [GetAccountPlanState](API_freetier_GetAccountPlanState.md) 
+  [GetFreeTierUsage](API_freetier_GetFreeTierUsage.md) 
+  [ListAccountActivities](API_freetier_ListAccountActivities.md) 
+  [UpgradeAccountPlan](API_freetier_UpgradeAccountPlan.md) 

The following actions are supported by Amazon Web Services Invoicing:
+  [BatchGetInvoiceProfile](API_invoicing_BatchGetInvoiceProfile.md) 
+  [CreateInvoiceUnit](API_invoicing_CreateInvoiceUnit.md) 
+  [CreateProcurementPortalPreference](API_invoicing_CreateProcurementPortalPreference.md) 
+  [DeleteInvoiceUnit](API_invoicing_DeleteInvoiceUnit.md) 
+  [DeleteProcurementPortalPreference](API_invoicing_DeleteProcurementPortalPreference.md) 
+  [GetInvoicePDF](API_invoicing_GetInvoicePDF.md) 
+  [GetInvoiceUnit](API_invoicing_GetInvoiceUnit.md) 
+  [GetProcurementPortalPreference](API_invoicing_GetProcurementPortalPreference.md) 
+  [ListInvoiceSummaries](API_invoicing_ListInvoiceSummaries.md) 
+  [ListInvoiceUnits](API_invoicing_ListInvoiceUnits.md) 
+  [ListProcurementPortalPreferences](API_invoicing_ListProcurementPortalPreferences.md) 
+  [ListTagsForResource](API_invoicing_ListTagsForResource.md) 
+  [PutProcurementPortalPreference](API_invoicing_PutProcurementPortalPreference.md) 
+  [TagResource](API_invoicing_TagResource.md) 
+  [UntagResource](API_invoicing_UntagResource.md) 
+  [UpdateInvoiceUnit](API_invoicing_UpdateInvoiceUnit.md) 
+  [UpdateProcurementPortalPreferenceStatus](API_invoicing_UpdateProcurementPortalPreferenceStatus.md) 

The following actions are supported by Amazon Price List:
+  [DescribeServices](API_pricing_DescribeServices.md) 
+  [GetAttributeValues](API_pricing_GetAttributeValues.md) 
+  [GetPriceListFileUrl](API_pricing_GetPriceListFileUrl.md) 
+  [GetProducts](API_pricing_GetProducts.md) 
+  [ListPriceLists](API_pricing_ListPriceLists.md) 

The following actions are supported by Tax Settings:
+  [BatchDeleteTaxRegistration](API_taxSettings_BatchDeleteTaxRegistration.md) 
+  [BatchGetTaxExemptions](API_taxSettings_BatchGetTaxExemptions.md) 
+  [BatchPutTaxRegistration](API_taxSettings_BatchPutTaxRegistration.md) 
+  [DeleteSupplementalTaxRegistration](API_taxSettings_DeleteSupplementalTaxRegistration.md) 
+  [DeleteTaxRegistration](API_taxSettings_DeleteTaxRegistration.md) 
+  [GetTaxExemptionTypes](API_taxSettings_GetTaxExemptionTypes.md) 
+  [GetTaxInheritance](API_taxSettings_GetTaxInheritance.md) 
+  [GetTaxRegistration](API_taxSettings_GetTaxRegistration.md) 
+  [GetTaxRegistrationDocument](API_taxSettings_GetTaxRegistrationDocument.md) 
+  [ListSupplementalTaxRegistrations](API_taxSettings_ListSupplementalTaxRegistrations.md) 
+  [ListTaxExemptions](API_taxSettings_ListTaxExemptions.md) 
+  [ListTaxRegistrations](API_taxSettings_ListTaxRegistrations.md) 
+  [PutSupplementalTaxRegistration](API_taxSettings_PutSupplementalTaxRegistration.md) 
+  [PutTaxExemption](API_taxSettings_PutTaxExemption.md) 
+  [PutTaxInheritance](API_taxSettings_PutTaxInheritance.md) 
+  [PutTaxRegistration](API_taxSettings_PutTaxRegistration.md) 

# Amazon Cost Explorer


The following actions are supported by Amazon Cost Explorer:
+  [CreateAnomalyMonitor](API_CreateAnomalyMonitor.md) 
+  [CreateAnomalySubscription](API_CreateAnomalySubscription.md) 
+  [CreateCostCategoryDefinition](API_CreateCostCategoryDefinition.md) 
+  [DeleteAnomalyMonitor](API_DeleteAnomalyMonitor.md) 
+  [DeleteAnomalySubscription](API_DeleteAnomalySubscription.md) 
+  [DeleteCostCategoryDefinition](API_DeleteCostCategoryDefinition.md) 
+  [DescribeCostCategoryDefinition](API_DescribeCostCategoryDefinition.md) 
+  [GetAnomalies](API_GetAnomalies.md) 
+  [GetAnomalyMonitors](API_GetAnomalyMonitors.md) 
+  [GetAnomalySubscriptions](API_GetAnomalySubscriptions.md) 
+  [GetApproximateUsageRecords](API_GetApproximateUsageRecords.md) 
+  [GetCommitmentPurchaseAnalysis](API_GetCommitmentPurchaseAnalysis.md) 
+  [GetCostAndUsage](API_GetCostAndUsage.md) 
+  [GetCostAndUsageComparisons](API_GetCostAndUsageComparisons.md) 
+  [GetCostAndUsageWithResources](API_GetCostAndUsageWithResources.md) 
+  [GetCostCategories](API_GetCostCategories.md) 
+  [GetCostComparisonDrivers](API_GetCostComparisonDrivers.md) 
+  [GetCostForecast](API_GetCostForecast.md) 
+  [GetDimensionValues](API_GetDimensionValues.md) 
+  [GetReservationCoverage](API_GetReservationCoverage.md) 
+  [GetReservationPurchaseRecommendation](API_GetReservationPurchaseRecommendation.md) 
+  [GetReservationUtilization](API_GetReservationUtilization.md) 
+  [GetRightsizingRecommendation](API_GetRightsizingRecommendation.md) 
+  [GetSavingsPlanPurchaseRecommendationDetails](API_GetSavingsPlanPurchaseRecommendationDetails.md) 
+  [GetSavingsPlansCoverage](API_GetSavingsPlansCoverage.md) 
+  [GetSavingsPlansPurchaseRecommendation](API_GetSavingsPlansPurchaseRecommendation.md) 
+  [GetSavingsPlansUtilization](API_GetSavingsPlansUtilization.md) 
+  [GetSavingsPlansUtilizationDetails](API_GetSavingsPlansUtilizationDetails.md) 
+  [GetTags](API_GetTags.md) 
+  [GetUsageForecast](API_GetUsageForecast.md) 
+  [ListCommitmentPurchaseAnalyses](API_ListCommitmentPurchaseAnalyses.md) 
+  [ListCostAllocationTagBackfillHistory](API_ListCostAllocationTagBackfillHistory.md) 
+  [ListCostAllocationTags](API_ListCostAllocationTags.md) 
+  [ListCostCategoryDefinitions](API_ListCostCategoryDefinitions.md) 
+  [ListCostCategoryResourceAssociations](API_ListCostCategoryResourceAssociations.md) 
+  [ListSavingsPlansPurchaseRecommendationGeneration](API_ListSavingsPlansPurchaseRecommendationGeneration.md) 
+  [ListTagsForResource](API_ListTagsForResource.md) 
+  [ProvideAnomalyFeedback](API_ProvideAnomalyFeedback.md) 
+  [StartCommitmentPurchaseAnalysis](API_StartCommitmentPurchaseAnalysis.md) 
+  [StartCostAllocationTagBackfill](API_StartCostAllocationTagBackfill.md) 
+  [StartSavingsPlansPurchaseRecommendationGeneration](API_StartSavingsPlansPurchaseRecommendationGeneration.md) 
+  [TagResource](API_TagResource.md) 
+  [UntagResource](API_UntagResource.md) 
+  [UpdateAnomalyMonitor](API_UpdateAnomalyMonitor.md) 
+  [UpdateAnomalySubscription](API_UpdateAnomalySubscription.md) 
+  [UpdateCostAllocationTagsStatus](API_UpdateCostAllocationTagsStatus.md) 
+  [UpdateCostCategoryDefinition](API_UpdateCostCategoryDefinition.md) 

# CreateAnomalyMonitor


Creates a new cost anomaly detection monitor with the requested type and monitor specification. 

## Request Syntax


```
{
   "AnomalyMonitor": { 
      "CreationDate": "string",
      "DimensionalValueCount": number,
      "LastEvaluatedDate": "string",
      "LastUpdatedDate": "string",
      "MonitorArn": "string",
      "MonitorDimension": "string",
      "MonitorName": "string",
      "MonitorSpecification": { 
         "And": [ 
            "Expression"
         ],
         "CostCategories": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         },
         "Dimensions": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         },
         "Not": "Expression",
         "Or": [ 
            "Expression"
         ],
         "Tags": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         }
      },
      "MonitorType": "string"
   },
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AnomalyMonitor](#API_CreateAnomalyMonitor_RequestSyntax) **   <a name="awscostmanagement-CreateAnomalyMonitor-request-AnomalyMonitor"></a>
The cost anomaly detection monitor object that you want to create.  
Type: [AnomalyMonitor](API_AnomalyMonitor.md) object  
Required: Yes

 ** [ResourceTags](#API_CreateAnomalyMonitor_RequestSyntax) **   <a name="awscostmanagement-CreateAnomalyMonitor-request-ResourceTags"></a>
An optional list of tags to associate with the specified [https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_AnomalyMonitor.html](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_AnomalyMonitor.html). You can use resource tags to control access to your `monitor` using IAM policies.  
Each tag consists of a key and a value, and each key must be unique for the resource. The following restrictions apply to resource tags:  
+ Although the maximum number of array members is 200, you can assign a maximum of 50 user-tags to one resource. The remaining are reserved for Amazon use
+ The maximum length of a key is 128 characters
+ The maximum length of a value is 256 characters
+ Keys and values can only contain alphanumeric characters, spaces, and any of the following: `_.:/=+@-` 
+ Keys and values are case sensitive
+ Keys and values are trimmed for any leading or trailing whitespaces
+ Don’t use `aws:` as a prefix for your keys. This prefix is reserved for Amazon use
Type: Array of [ResourceTag](API_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: No

## Response Syntax


```
{
   "MonitorArn": "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.

 ** [MonitorArn](#API_CreateAnomalyMonitor_ResponseSyntax) **   <a name="awscostmanagement-CreateAnomalyMonitor-response-MonitorArn"></a>
The unique identifier of your newly created cost anomaly detection monitor.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## Examples


The following are sample requests and responses of the `CreateAnomalyMonitor` operation.

### Example 1


The following example for the `CreateAnomalyMonitor` operation creates an Amazon managed services monitor with resource tags.

#### Sample Request


```
{
    "AnomalyMonitor": {
        "MonitorName": "Monitor name",
        "MonitorType": "DIMENSIONAL",
        "MonitorDimension": "SERVICE"
    },
    "ResourceTags": [
        {
            "Key": "tag key",
            "Value": "tag value"
        }
    ]
}
```

#### Sample Response


```
{
    "MonitorArn": "arn:${partition}:ce::${account-id}:anomalymonitor/${monitor-id}"
}
```

### Example 2


The following example for the `CreateAnomalyMonitor` operation creates an Amazon managed linked account monitor.

#### Sample Request


```
{
    "AnomalyMonitor": {
        "MonitorName": "Monitor name",
        "MonitorType": "DIMENSIONAL",
        "MonitorDimension": "LINKED_ACCOUNT"
    }
}
```

#### Sample Response


```
{
    "MonitorArn": "arn:${partition}:ce::${account-id}:anomalymonitor/${monitor-id}"
}
```

### Example 3


The following example for the `CreateAnomalyMonitor` operation creates an Amazon managed cost allocation tag monitor.

#### Sample Request


```
{
    "AnomalyMonitor": {
        "MonitorName": "Monitor name",
        "MonitorType": "DIMENSIONAL",
        "MonitorDimension": "TAG",
        "MonitorSpecification": {
            "Tags": {
                "Key": "tag key"
            }
        }
    }
}
```

#### Sample Response


```
{
    "MonitorArn": "arn:${partition}:ce::${account-id}:anomalymonitor/${monitor-id}"
}
```

### Example 4


The following example for the `CreateAnomalyMonitor` operation creates an Amazon managed cost category monitor.

#### Sample Request


```
{
    "AnomalyMonitor": {
        "MonitorName": "Monitor name",
        "MonitorType": "DIMENSIONAL",
        "MonitorDimension": "COST_CATEGORY",
        "MonitorSpecification": {
            "CostCategories": {
                "Key": "cost category key"
            }
        }
    }
}
```

#### Sample Response


```
{
    "MonitorArn": "arn:${partition}:ce::${account-id}:anomalymonitor/${monitor-id}"
}
```

### Example 5


The following example for the `CreateAnomalyMonitor` operation creates a customer managed linked account monitor. You can track up to ten linked accounts with a single monitor.

#### Sample Request


```
{
    "AnomalyMonitor": {
        "MonitorName": "Monitor name",
        "MonitorType": "CUSTOM",
        "MonitorSpecification": {
            "Dimensions": {
                "Key": "LINKED_ACCOUNT",
                "Values": [
                    "000011112222",
                    "111122223333"
                ]
            }
        }
    }
}
```

#### Sample Response


```
{
    "MonitorArn": "arn:${partition}:ce::${account-id}:anomalymonitor/${monitor-id}"
}
```

### Example 6


The following example for the `CreateAnomalyMonitor` operation creates a customer managed cost allocation tag monitor. You can track up to ten tag values with a single monitor.

#### Sample Request


```
{
    "AnomalyMonitor": {
        "MonitorName": "Monitor name",
        "MonitorType": "CUSTOM",
        "MonitorSpecification": {
            "Tags": {
                "Key": "tag key",
                "Values": [
                    "tag value 1",
                    "tag value 2"
                ]
            }
        }
    }
}
```

#### Sample Response


```
{
    "MonitorArn": "arn:${partition}:ce::${account-id}:anomalymonitor/${monitor-id}"
}
```

### Example 7


The following example for the `CreateAnomalyMonitor` operation creates a customer managed cost category monitor. You can track one value with a single monitor. 

#### Sample Request


```
{
    "AnomalyMonitor": {
        "MonitorName": "Monitor name",
        "MonitorType": "CUSTOM",
        "MonitorSpecification": {
            "CostCategories": {
                "Key": "cost category key",
                "Values": [ "cost category value" ]
            }
        }
    }
}
```

#### Sample Response


```
{
    "MonitorArn": "arn:${partition}:ce::${account-id}:anomalymonitor/${monitor-id}"
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/CreateAnomalyMonitor) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/CreateAnomalyMonitor) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/CreateAnomalyMonitor) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/CreateAnomalyMonitor) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/CreateAnomalyMonitor) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/CreateAnomalyMonitor) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/CreateAnomalyMonitor) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/CreateAnomalyMonitor) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/CreateAnomalyMonitor) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/CreateAnomalyMonitor) 

# CreateAnomalySubscription


Adds an alert subscription to a cost anomaly detection monitor. You can use each subscription to define subscribers with email or SNS notifications. Email subscribers can set an absolute or percentage threshold and a time frequency for receiving notifications. 

## Request Syntax


```
{
   "AnomalySubscription": { 
      "AccountId": "string",
      "Frequency": "string",
      "MonitorArnList": [ "string" ],
      "Subscribers": [ 
         { 
            "Address": "string",
            "Status": "string",
            "Type": "string"
         }
      ],
      "SubscriptionArn": "string",
      "SubscriptionName": "string",
      "Threshold": number,
      "ThresholdExpression": { 
         "And": [ 
            "Expression"
         ],
         "CostCategories": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         },
         "Dimensions": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         },
         "Not": "Expression",
         "Or": [ 
            "Expression"
         ],
         "Tags": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         }
      }
   },
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AnomalySubscription](#API_CreateAnomalySubscription_RequestSyntax) **   <a name="awscostmanagement-CreateAnomalySubscription-request-AnomalySubscription"></a>
The cost anomaly subscription object that you want to create.   
Type: [AnomalySubscription](API_AnomalySubscription.md) object  
Required: Yes

 ** [ResourceTags](#API_CreateAnomalySubscription_RequestSyntax) **   <a name="awscostmanagement-CreateAnomalySubscription-request-ResourceTags"></a>
An optional list of tags to associate with the specified [https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_AnomalySubscription.html](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_AnomalySubscription.html). You can use resource tags to control access to your `subscription` using IAM policies.  
Each tag consists of a key and a value, and each key must be unique for the resource. The following restrictions apply to resource tags:  
+ Although the maximum number of array members is 200, you can assign a maximum of 50 user-tags to one resource. The remaining are reserved for Amazon use
+ The maximum length of a key is 128 characters
+ The maximum length of a value is 256 characters
+ Keys and values can only contain alphanumeric characters, spaces, and any of the following: `_.:/=+@-` 
+ Keys and values are case sensitive
+ Keys and values are trimmed for any leading or trailing whitespaces
+ Don’t use `aws:` as a prefix for your keys. This prefix is reserved for Amazon use
Type: Array of [ResourceTag](API_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: No

## Response Syntax


```
{
   "SubscriptionArn": "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.

 ** [SubscriptionArn](#API_CreateAnomalySubscription_ResponseSyntax) **   <a name="awscostmanagement-CreateAnomalySubscription-response-SubscriptionArn"></a>
The unique identifier of your newly created cost anomaly subscription.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** UnknownMonitorException **   
The cost anomaly monitor does not exist for the account.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/CreateAnomalySubscription) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/CreateAnomalySubscription) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/CreateAnomalySubscription) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/CreateAnomalySubscription) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/CreateAnomalySubscription) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/CreateAnomalySubscription) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/CreateAnomalySubscription) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/CreateAnomalySubscription) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/CreateAnomalySubscription) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/CreateAnomalySubscription) 

# CreateCostCategoryDefinition


Creates a new cost category with the requested name and rules.

## Request Syntax


```
{
   "DefaultValue": "string",
   "EffectiveStart": "string",
   "Name": "string",
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "Rules": [ 
      { 
         "InheritedValue": { 
            "DimensionKey": "string",
            "DimensionName": "string"
         },
         "Rule": { 
            "And": [ 
               "Expression"
            ],
            "CostCategories": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            },
            "Dimensions": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            },
            "Not": "Expression",
            "Or": [ 
               "Expression"
            ],
            "Tags": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            }
         },
         "Type": "string",
         "Value": "string"
      }
   ],
   "RuleVersion": "string",
   "SplitChargeRules": [ 
      { 
         "Method": "string",
         "Parameters": [ 
            { 
               "Type": "string",
               "Values": [ "string" ]
            }
         ],
         "Source": "string",
         "Targets": [ "string" ]
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [DefaultValue](#API_CreateCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-CreateCostCategoryDefinition-request-DefaultValue"></a>
The default value for the cost category.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `^(?! )[\p{L}\p{N}\p{Z}-_]*(?<! )$`   
Required: No

 ** [EffectiveStart](#API_CreateCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-CreateCostCategoryDefinition-request-EffectiveStart"></a>
The cost category's effective start date. It can only be a billing start date (first day of the month). If the date isn't provided, it's the first day of the current month. Dates can't be before the previous twelve months, or in the future.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 25.  
Pattern: `^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(([+-]\d\d:\d\d)|Z)$`   
Required: No

 ** [Name](#API_CreateCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-CreateCostCategoryDefinition-request-Name"></a>
The unique name of the cost category.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `^(?! )[\p{L}\p{N}\p{Z}-_]*(?<! )$`   
Required: Yes

 ** [ResourceTags](#API_CreateCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-CreateCostCategoryDefinition-request-ResourceTags"></a>
An optional list of tags to associate with the specified [https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_CostCategory.html](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_CostCategory.html). You can use resource tags to control access to your `cost category` using IAM policies.  
Each tag consists of a key and a value, and each key must be unique for the resource. The following restrictions apply to resource tags:  
+ Although the maximum number of array members is 200, you can assign a maximum of 50 user-tags to one resource. The remaining are reserved for Amazon use
+ The maximum length of a key is 128 characters
+ The maximum length of a value is 256 characters
+ Keys and values can only contain alphanumeric characters, spaces, and any of the following: `_.:/=+@-` 
+ Keys and values are case sensitive
+ Keys and values are trimmed for any leading or trailing whitespaces
+ Don’t use `aws:` as a prefix for your keys. This prefix is reserved for Amazon use
Type: Array of [ResourceTag](API_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: No

 ** [Rules](#API_CreateCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-CreateCostCategoryDefinition-request-Rules"></a>
The cost category rules used to categorize costs. For more information, see [CostCategoryRule](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_CostCategoryRule.html).  
Type: Array of [CostCategoryRule](API_CostCategoryRule.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 500 items.  
Required: Yes

 ** [RuleVersion](#API_CreateCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-CreateCostCategoryDefinition-request-RuleVersion"></a>
The rule schema version in this particular cost category.  
Type: String  
Valid Values: `CostCategoryExpression.v1`   
Required: Yes

 ** [SplitChargeRules](#API_CreateCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-CreateCostCategoryDefinition-request-SplitChargeRules"></a>
 The split charge rules used to allocate your charges between your cost category values.   
Type: Array of [CostCategorySplitChargeRule](API_CostCategorySplitChargeRule.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 10 items.  
Required: No

## Response Syntax


```
{
   "CostCategoryArn": "string",
   "EffectiveStart": "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.

 ** [CostCategoryArn](#API_CreateCostCategoryDefinition_ResponseSyntax) **   <a name="awscostmanagement-CreateCostCategoryDefinition-response-CostCategoryArn"></a>
The unique identifier for your newly created cost category.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+` 

 ** [EffectiveStart](#API_CreateCostCategoryDefinition_ResponseSyntax) **   <a name="awscostmanagement-CreateCostCategoryDefinition-response-EffectiveStart"></a>
The cost category's effective start date. It can only be a billing start date (first day of the month).  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 25.  
Pattern: `^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(([+-]\d\d:\d\d)|Z)$` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
 You've reached the limit on the number of resources you can create, or exceeded the size of an individual resource.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/CreateCostCategoryDefinition) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/CreateCostCategoryDefinition) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/CreateCostCategoryDefinition) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/CreateCostCategoryDefinition) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/CreateCostCategoryDefinition) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/CreateCostCategoryDefinition) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/CreateCostCategoryDefinition) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/CreateCostCategoryDefinition) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/CreateCostCategoryDefinition) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/CreateCostCategoryDefinition) 

# DeleteAnomalyMonitor


Deletes a cost anomaly monitor. 

## Request Syntax


```
{
   "MonitorArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MonitorArn](#API_DeleteAnomalyMonitor_RequestSyntax) **   <a name="awscostmanagement-DeleteAnomalyMonitor-request-MonitorArn"></a>
The unique identifier of the cost anomaly monitor that you want to delete.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** UnknownMonitorException **   
The cost anomaly monitor does not exist for the account.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/DeleteAnomalyMonitor) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/DeleteAnomalyMonitor) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/DeleteAnomalyMonitor) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/DeleteAnomalyMonitor) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/DeleteAnomalyMonitor) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/DeleteAnomalyMonitor) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/DeleteAnomalyMonitor) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/DeleteAnomalyMonitor) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/DeleteAnomalyMonitor) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/DeleteAnomalyMonitor) 

# DeleteAnomalySubscription


Deletes a cost anomaly subscription. 

## Request Syntax


```
{
   "SubscriptionArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [SubscriptionArn](#API_DeleteAnomalySubscription_RequestSyntax) **   <a name="awscostmanagement-DeleteAnomalySubscription-request-SubscriptionArn"></a>
The unique identifier of the cost anomaly subscription that you want to delete.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** UnknownSubscriptionException **   
The cost anomaly subscription does not exist for the account.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/DeleteAnomalySubscription) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/DeleteAnomalySubscription) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/DeleteAnomalySubscription) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/DeleteAnomalySubscription) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/DeleteAnomalySubscription) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/DeleteAnomalySubscription) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/DeleteAnomalySubscription) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/DeleteAnomalySubscription) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/DeleteAnomalySubscription) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/DeleteAnomalySubscription) 

# DeleteCostCategoryDefinition


Deletes a cost category. Expenses from this month going forward will no longer be categorized with this cost category.

## Request Syntax


```
{
   "CostCategoryArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [CostCategoryArn](#API_DeleteCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-DeleteCostCategoryDefinition-request-CostCategoryArn"></a>
The unique identifier for your cost category.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

## Response Syntax


```
{
   "CostCategoryArn": "string",
   "EffectiveEnd": "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.

 ** [CostCategoryArn](#API_DeleteCostCategoryDefinition_ResponseSyntax) **   <a name="awscostmanagement-DeleteCostCategoryDefinition-response-CostCategoryArn"></a>
The unique identifier for your cost category.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+` 

 ** [EffectiveEnd](#API_DeleteCostCategoryDefinition_ResponseSyntax) **   <a name="awscostmanagement-DeleteCostCategoryDefinition-response-EffectiveEnd"></a>
The effective end date of the cost category as a result of deleting it. No costs after this date is categorized by the deleted cost category.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 25.  
Pattern: `^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(([+-]\d\d:\d\d)|Z)$` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/DeleteCostCategoryDefinition) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/DeleteCostCategoryDefinition) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/DeleteCostCategoryDefinition) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/DeleteCostCategoryDefinition) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/DeleteCostCategoryDefinition) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/DeleteCostCategoryDefinition) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/DeleteCostCategoryDefinition) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/DeleteCostCategoryDefinition) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/DeleteCostCategoryDefinition) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/DeleteCostCategoryDefinition) 

# DescribeCostCategoryDefinition


Returns the name, Amazon Resource Name (ARN), rules, definition, and effective dates of a cost category that's defined in the account.

You have the option to use `EffectiveOn` to return a cost category that's active on a specific date. If there's no `EffectiveOn` specified, you see a Cost Category that's effective on the current date. If cost category is still effective, `EffectiveEnd` is omitted in the response. 

## Request Syntax


```
{
   "CostCategoryArn": "string",
   "EffectiveOn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [CostCategoryArn](#API_DescribeCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-DescribeCostCategoryDefinition-request-CostCategoryArn"></a>
The unique identifier for your cost category.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

 ** [EffectiveOn](#API_DescribeCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-DescribeCostCategoryDefinition-request-EffectiveOn"></a>
The date when the cost category was effective.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 25.  
Pattern: `^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(([+-]\d\d:\d\d)|Z)$`   
Required: No

## Response Syntax


```
{
   "CostCategory": { 
      "CostCategoryArn": "string",
      "DefaultValue": "string",
      "EffectiveEnd": "string",
      "EffectiveStart": "string",
      "Name": "string",
      "ProcessingStatus": [ 
         { 
            "Component": "string",
            "Status": "string"
         }
      ],
      "Rules": [ 
         { 
            "InheritedValue": { 
               "DimensionKey": "string",
               "DimensionName": "string"
            },
            "Rule": { 
               "And": [ 
                  "Expression"
               ],
               "CostCategories": { 
                  "Key": "string",
                  "MatchOptions": [ "string" ],
                  "Values": [ "string" ]
               },
               "Dimensions": { 
                  "Key": "string",
                  "MatchOptions": [ "string" ],
                  "Values": [ "string" ]
               },
               "Not": "Expression",
               "Or": [ 
                  "Expression"
               ],
               "Tags": { 
                  "Key": "string",
                  "MatchOptions": [ "string" ],
                  "Values": [ "string" ]
               }
            },
            "Type": "string",
            "Value": "string"
         }
      ],
      "RuleVersion": "string",
      "SplitChargeRules": [ 
         { 
            "Method": "string",
            "Parameters": [ 
               { 
                  "Type": "string",
                  "Values": [ "string" ]
               }
            ],
            "Source": "string",
            "Targets": [ "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.

 ** [CostCategory](#API_DescribeCostCategoryDefinition_ResponseSyntax) **   <a name="awscostmanagement-DescribeCostCategoryDefinition-response-CostCategory"></a>
The structure of Cost Categories. This includes detailed metadata and the set of rules for the `CostCategory` object.  
Type: [CostCategory](API_CostCategory.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/DescribeCostCategoryDefinition) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/DescribeCostCategoryDefinition) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/DescribeCostCategoryDefinition) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/DescribeCostCategoryDefinition) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/DescribeCostCategoryDefinition) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/DescribeCostCategoryDefinition) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/DescribeCostCategoryDefinition) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/DescribeCostCategoryDefinition) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/DescribeCostCategoryDefinition) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/DescribeCostCategoryDefinition) 

# GetAnomalies


Retrieves all of the cost anomalies detected on your account during the time period that's specified by the `DateInterval` object. Anomalies are available for up to 90 days.

## Request Syntax


```
{
   "DateInterval": { 
      "EndDate": "string",
      "StartDate": "string"
   },
   "Feedback": "string",
   "MaxResults": number,
   "MonitorArn": "string",
   "NextPageToken": "string",
   "TotalImpact": { 
      "EndValue": number,
      "NumericOperator": "string",
      "StartValue": number
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [DateInterval](#API_GetAnomalies_RequestSyntax) **   <a name="awscostmanagement-GetAnomalies-request-DateInterval"></a>
Assigns the start and end dates for retrieving cost anomalies. The returned anomaly object will have an `AnomalyEndDate` in the specified time range.   
Type: [AnomalyDateInterval](API_AnomalyDateInterval.md) object  
Required: Yes

 ** [Feedback](#API_GetAnomalies_RequestSyntax) **   <a name="awscostmanagement-GetAnomalies-request-Feedback"></a>
Filters anomaly results by the feedback field on the anomaly object.   
Type: String  
Valid Values: `YES | NO | PLANNED_ACTIVITY`   
Required: No

 ** [MaxResults](#API_GetAnomalies_RequestSyntax) **   <a name="awscostmanagement-GetAnomalies-request-MaxResults"></a>
The number of entries a paginated response contains.   
Type: Integer  
Required: No

 ** [MonitorArn](#API_GetAnomalies_RequestSyntax) **   <a name="awscostmanagement-GetAnomalies-request-MonitorArn"></a>
Retrieves all of the cost anomalies detected for a specific cost anomaly monitor Amazon Resource Name (ARN).   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

 ** [NextPageToken](#API_GetAnomalies_RequestSyntax) **   <a name="awscostmanagement-GetAnomalies-request-NextPageToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [TotalImpact](#API_GetAnomalies_RequestSyntax) **   <a name="awscostmanagement-GetAnomalies-request-TotalImpact"></a>
Filters anomaly results by the total impact field on the anomaly object. For example, you can filter anomalies `GREATER_THAN 200.00` to retrieve anomalies, with an estimated dollar impact greater than 200.   
Type: [TotalImpactFilter](API_TotalImpactFilter.md) object  
Required: No

## Response Syntax


```
{
   "Anomalies": [ 
      { 
         "AnomalyEndDate": "string",
         "AnomalyId": "string",
         "AnomalyScore": { 
            "CurrentScore": number,
            "MaxScore": number
         },
         "AnomalyStartDate": "string",
         "DimensionValue": "string",
         "Feedback": "string",
         "Impact": { 
            "MaxImpact": number,
            "TotalActualSpend": number,
            "TotalExpectedSpend": number,
            "TotalImpact": number,
            "TotalImpactPercentage": number
         },
         "MonitorArn": "string",
         "RootCauses": [ 
            { 
               "Impact": { 
                  "Contribution": number
               },
               "LinkedAccount": "string",
               "LinkedAccountName": "string",
               "Region": "string",
               "Service": "string",
               "UsageType": "string"
            }
         ]
      }
   ],
   "NextPageToken": "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.

 ** [Anomalies](#API_GetAnomalies_ResponseSyntax) **   <a name="awscostmanagement-GetAnomalies-response-Anomalies"></a>
A list of cost anomalies.   
Type: Array of [Anomaly](API_Anomaly.md) objects

 ** [NextPageToken](#API_GetAnomalies_ResponseSyntax) **   <a name="awscostmanagement-GetAnomalies-response-NextPageToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetAnomalies) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetAnomalies) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetAnomalies) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetAnomalies) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetAnomalies) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetAnomalies) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetAnomalies) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetAnomalies) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetAnomalies) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetAnomalies) 

# GetAnomalyMonitors


Retrieves the cost anomaly monitor definitions for your account. You can filter using a list of cost anomaly monitor Amazon Resource Names (ARNs). 

## Request Syntax


```
{
   "MaxResults": number,
   "MonitorArnList": [ "string" ],
   "NextPageToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_GetAnomalyMonitors_RequestSyntax) **   <a name="awscostmanagement-GetAnomalyMonitors-request-MaxResults"></a>
The number of entries that a paginated response contains.   
Type: Integer  
Required: No

 ** [MonitorArnList](#API_GetAnomalyMonitors_RequestSyntax) **   <a name="awscostmanagement-GetAnomalyMonitors-request-MonitorArnList"></a>
A list of cost anomaly monitor ARNs.   
Type: Array of strings  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

 ** [NextPageToken](#API_GetAnomalyMonitors_RequestSyntax) **   <a name="awscostmanagement-GetAnomalyMonitors-request-NextPageToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "AnomalyMonitors": [ 
      { 
         "CreationDate": "string",
         "DimensionalValueCount": number,
         "LastEvaluatedDate": "string",
         "LastUpdatedDate": "string",
         "MonitorArn": "string",
         "MonitorDimension": "string",
         "MonitorName": "string",
         "MonitorSpecification": { 
            "And": [ 
               "Expression"
            ],
            "CostCategories": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            },
            "Dimensions": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            },
            "Not": "Expression",
            "Or": [ 
               "Expression"
            ],
            "Tags": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            }
         },
         "MonitorType": "string"
      }
   ],
   "NextPageToken": "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.

 ** [AnomalyMonitors](#API_GetAnomalyMonitors_ResponseSyntax) **   <a name="awscostmanagement-GetAnomalyMonitors-response-AnomalyMonitors"></a>
A list of cost anomaly monitors that includes the detailed metadata for each monitor.   
Type: Array of [AnomalyMonitor](API_AnomalyMonitor.md) objects

 ** [NextPageToken](#API_GetAnomalyMonitors_ResponseSyntax) **   <a name="awscostmanagement-GetAnomalyMonitors-response-NextPageToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** UnknownMonitorException **   
The cost anomaly monitor does not exist for the account.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetAnomalyMonitors) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetAnomalyMonitors) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetAnomalyMonitors) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetAnomalyMonitors) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetAnomalyMonitors) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetAnomalyMonitors) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetAnomalyMonitors) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetAnomalyMonitors) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetAnomalyMonitors) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetAnomalyMonitors) 

# GetAnomalySubscriptions


Retrieves the cost anomaly subscription objects for your account. You can filter using a list of cost anomaly monitor Amazon Resource Names (ARNs). 

## Request Syntax


```
{
   "MaxResults": number,
   "MonitorArn": "string",
   "NextPageToken": "string",
   "SubscriptionArnList": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_GetAnomalySubscriptions_RequestSyntax) **   <a name="awscostmanagement-GetAnomalySubscriptions-request-MaxResults"></a>
The number of entries a paginated response contains.   
Type: Integer  
Required: No

 ** [MonitorArn](#API_GetAnomalySubscriptions_RequestSyntax) **   <a name="awscostmanagement-GetAnomalySubscriptions-request-MonitorArn"></a>
Cost anomaly monitor ARNs.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

 ** [NextPageToken](#API_GetAnomalySubscriptions_RequestSyntax) **   <a name="awscostmanagement-GetAnomalySubscriptions-request-NextPageToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [SubscriptionArnList](#API_GetAnomalySubscriptions_RequestSyntax) **   <a name="awscostmanagement-GetAnomalySubscriptions-request-SubscriptionArnList"></a>
A list of cost anomaly subscription ARNs.   
Type: Array of strings  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "AnomalySubscriptions": [ 
      { 
         "AccountId": "string",
         "Frequency": "string",
         "MonitorArnList": [ "string" ],
         "Subscribers": [ 
            { 
               "Address": "string",
               "Status": "string",
               "Type": "string"
            }
         ],
         "SubscriptionArn": "string",
         "SubscriptionName": "string",
         "Threshold": number,
         "ThresholdExpression": { 
            "And": [ 
               "Expression"
            ],
            "CostCategories": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            },
            "Dimensions": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            },
            "Not": "Expression",
            "Or": [ 
               "Expression"
            ],
            "Tags": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            }
         }
      }
   ],
   "NextPageToken": "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.

 ** [AnomalySubscriptions](#API_GetAnomalySubscriptions_ResponseSyntax) **   <a name="awscostmanagement-GetAnomalySubscriptions-response-AnomalySubscriptions"></a>
A list of cost anomaly subscriptions that includes the detailed metadata for each one.   
Type: Array of [AnomalySubscription](API_AnomalySubscription.md) objects

 ** [NextPageToken](#API_GetAnomalySubscriptions_ResponseSyntax) **   <a name="awscostmanagement-GetAnomalySubscriptions-response-NextPageToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** UnknownSubscriptionException **   
The cost anomaly subscription does not exist for the account.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetAnomalySubscriptions) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetAnomalySubscriptions) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetAnomalySubscriptions) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetAnomalySubscriptions) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetAnomalySubscriptions) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetAnomalySubscriptions) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetAnomalySubscriptions) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetAnomalySubscriptions) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetAnomalySubscriptions) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetAnomalySubscriptions) 

# GetApproximateUsageRecords


Retrieves estimated usage records for hourly granularity or resource-level data at daily granularity.

## Request Syntax


```
{
   "ApproximationDimension": "string",
   "Granularity": "string",
   "Services": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ApproximationDimension](#API_GetApproximateUsageRecords_RequestSyntax) **   <a name="awscostmanagement-GetApproximateUsageRecords-request-ApproximationDimension"></a>
The service to evaluate for the usage records. You can choose resource-level data at daily granularity, or hourly granularity with or without resource-level data.  
Type: String  
Valid Values: `SERVICE | RESOURCE`   
Required: Yes

 ** [Granularity](#API_GetApproximateUsageRecords_RequestSyntax) **   <a name="awscostmanagement-GetApproximateUsageRecords-request-Granularity"></a>
How granular you want the data to be. You can enable data at hourly or daily granularity.  
Type: String  
Valid Values: `DAILY | MONTHLY | HOURLY`   
Required: Yes

 ** [Services](#API_GetApproximateUsageRecords_RequestSyntax) **   <a name="awscostmanagement-GetApproximateUsageRecords-request-Services"></a>
The service metadata for the service or services you want to query. If not specified, all elements are returned.  
Type: Array of strings  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "LookbackPeriod": { 
      "End": "string",
      "Start": "string"
   },
   "Services": { 
      "string" : number 
   },
   "TotalRecords": 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.

 ** [LookbackPeriod](#API_GetApproximateUsageRecords_ResponseSyntax) **   <a name="awscostmanagement-GetApproximateUsageRecords-response-LookbackPeriod"></a>
The lookback period that's used for the estimation.  
Type: [DateInterval](API_DateInterval.md) object

 ** [Services](#API_GetApproximateUsageRecords_ResponseSyntax) **   <a name="awscostmanagement-GetApproximateUsageRecords-response-Services"></a>
The service metadata for the service or services in the response.  
Type: String to long map  
Key Length Constraints: Minimum length of 0. Maximum length of 1024.  
Key Pattern: `[\S\s]*`   
Valid Range: Minimum value of 0.

 ** [TotalRecords](#API_GetApproximateUsageRecords_ResponseSyntax) **   <a name="awscostmanagement-GetApproximateUsageRecords-response-TotalRecords"></a>
The total number of usage records for all services in the services list.  
Type: Long  
Valid Range: Minimum value of 0.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## Examples


### The following is a sample request of the GetApproximateUsageRecords operation.


This example illustrates one usage of GetApproximateUsageRecords.

#### Sample Request


```
{
    "ApproximationDimension":"SERVICE",
    "Granularity": "HOURLY"
 }
```

### The following is a sample response of the GetApproximateUsageRecords operation.


This example illustrates one usage of GetApproximateUsageRecords.

#### Sample Response


```
{
    "LookbackPeriod": {
        "End": "2023-12-31",
        "Start": "2023-12-01"
    },
    "Services": {
        "Amazon Virtual Private Cloud": 336,
        "Amazon Relational Database Service": 1344,
        "AmazonCloudWatch": 350,
        "Tax": 0,
        "Amazon DynamoDB": 672
    },
    "TotalRecords": 2702
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetApproximateUsageRecords) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetApproximateUsageRecords) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetApproximateUsageRecords) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetApproximateUsageRecords) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetApproximateUsageRecords) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetApproximateUsageRecords) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetApproximateUsageRecords) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetApproximateUsageRecords) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetApproximateUsageRecords) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetApproximateUsageRecords) 

# GetCommitmentPurchaseAnalysis


Retrieves a commitment purchase analysis result based on the `AnalysisId`.

## Request Syntax


```
{
   "AnalysisId": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AnalysisId](#API_GetCommitmentPurchaseAnalysis_RequestSyntax) **   <a name="awscostmanagement-GetCommitmentPurchaseAnalysis-request-AnalysisId"></a>
The analysis ID that's associated with the commitment purchase analysis.  
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `^[\S\s]{8}-[\S\s]{4}-[\S\s]{4}-[\S\s]{4}-[\S\s]{12}$`   
Required: Yes

## Response Syntax


```
{
   "AnalysisCompletionTime": "string",
   "AnalysisDetails": { 
      "SavingsPlansPurchaseAnalysisDetails": { 
         "AdditionalMetadata": "string",
         "CurrencyCode": "string",
         "CurrentAverageCoverage": "string",
         "CurrentAverageHourlyOnDemandSpend": "string",
         "CurrentMaximumHourlyOnDemandSpend": "string",
         "CurrentMinimumHourlyOnDemandSpend": "string",
         "CurrentOnDemandSpend": "string",
         "EstimatedAverageCoverage": "string",
         "EstimatedAverageUtilization": "string",
         "EstimatedCommitmentCost": "string",
         "EstimatedMonthlySavingsAmount": "string",
         "EstimatedOnDemandCost": "string",
         "EstimatedOnDemandCostWithCurrentCommitment": "string",
         "EstimatedROI": "string",
         "EstimatedSavingsAmount": "string",
         "EstimatedSavingsPercentage": "string",
         "ExistingHourlyCommitment": "string",
         "HourlyCommitmentToPurchase": "string",
         "LatestUsageTimestamp": "string",
         "LookbackPeriodInHours": "string",
         "MetricsOverLookbackPeriod": [ 
            { 
               "CurrentCoverage": "string",
               "EstimatedCoverage": "string",
               "EstimatedNewCommitmentUtilization": "string",
               "EstimatedOnDemandCost": "string",
               "StartTime": "string"
            }
         ],
         "UpfrontCost": "string"
      }
   },
   "AnalysisId": "string",
   "AnalysisStartedTime": "string",
   "AnalysisStatus": "string",
   "CommitmentPurchaseAnalysisConfiguration": { 
      "SavingsPlansPurchaseAnalysisConfiguration": { 
         "AccountId": "string",
         "AccountScope": "string",
         "AnalysisType": "string",
         "LookBackTimePeriod": { 
            "End": "string",
            "Start": "string"
         },
         "SavingsPlansToAdd": [ 
            { 
               "InstanceFamily": "string",
               "OfferingId": "string",
               "PaymentOption": "string",
               "Region": "string",
               "SavingsPlansCommitment": number,
               "SavingsPlansType": "string",
               "TermInYears": "string"
            }
         ],
         "SavingsPlansToExclude": [ "string" ]
      }
   },
   "ErrorCode": "string",
   "EstimatedCompletionTime": "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.

 ** [AnalysisCompletionTime](#API_GetCommitmentPurchaseAnalysis_ResponseSyntax) **   <a name="awscostmanagement-GetCommitmentPurchaseAnalysis-response-AnalysisCompletionTime"></a>
The completion time of the analysis.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 25.  
Pattern: `^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(([+-]\d\d:\d\d)|Z)$` 

 ** [AnalysisDetails](#API_GetCommitmentPurchaseAnalysis_ResponseSyntax) **   <a name="awscostmanagement-GetCommitmentPurchaseAnalysis-response-AnalysisDetails"></a>
Details about the analysis.  
Type: [AnalysisDetails](API_AnalysisDetails.md) object

 ** [AnalysisId](#API_GetCommitmentPurchaseAnalysis_ResponseSyntax) **   <a name="awscostmanagement-GetCommitmentPurchaseAnalysis-response-AnalysisId"></a>
The analysis ID that's associated with the commitment purchase analysis.  
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `^[\S\s]{8}-[\S\s]{4}-[\S\s]{4}-[\S\s]{4}-[\S\s]{12}$` 

 ** [AnalysisStartedTime](#API_GetCommitmentPurchaseAnalysis_ResponseSyntax) **   <a name="awscostmanagement-GetCommitmentPurchaseAnalysis-response-AnalysisStartedTime"></a>
The start time of the analysis.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 25.  
Pattern: `^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(([+-]\d\d:\d\d)|Z)$` 

 ** [AnalysisStatus](#API_GetCommitmentPurchaseAnalysis_ResponseSyntax) **   <a name="awscostmanagement-GetCommitmentPurchaseAnalysis-response-AnalysisStatus"></a>
The status of the analysis.  
Type: String  
Valid Values: `SUCCEEDED | PROCESSING | FAILED` 

 ** [CommitmentPurchaseAnalysisConfiguration](#API_GetCommitmentPurchaseAnalysis_ResponseSyntax) **   <a name="awscostmanagement-GetCommitmentPurchaseAnalysis-response-CommitmentPurchaseAnalysisConfiguration"></a>
The configuration for the commitment purchase analysis.  
Type: [CommitmentPurchaseAnalysisConfiguration](API_CommitmentPurchaseAnalysisConfiguration.md) object

 ** [ErrorCode](#API_GetCommitmentPurchaseAnalysis_ResponseSyntax) **   <a name="awscostmanagement-GetCommitmentPurchaseAnalysis-response-ErrorCode"></a>
The error code used for the analysis.  
Type: String  
Valid Values: `NO_USAGE_FOUND | INTERNAL_FAILURE | INVALID_SAVINGS_PLANS_TO_ADD | INVALID_SAVINGS_PLANS_TO_EXCLUDE | INVALID_ACCOUNT_ID` 

 ** [EstimatedCompletionTime](#API_GetCommitmentPurchaseAnalysis_ResponseSyntax) **   <a name="awscostmanagement-GetCommitmentPurchaseAnalysis-response-EstimatedCompletionTime"></a>
The estimated time for when the analysis will complete.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 25.  
Pattern: `^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(([+-]\d\d:\d\d)|Z)$` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AnalysisNotFoundException **   
The requested analysis can't be found.  
HTTP Status Code: 400

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetCommitmentPurchaseAnalysis) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetCommitmentPurchaseAnalysis) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetCommitmentPurchaseAnalysis) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetCommitmentPurchaseAnalysis) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetCommitmentPurchaseAnalysis) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetCommitmentPurchaseAnalysis) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetCommitmentPurchaseAnalysis) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetCommitmentPurchaseAnalysis) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetCommitmentPurchaseAnalysis) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetCommitmentPurchaseAnalysis) 

# GetCostAndUsage


Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric that you want the request to return. For example, you can specify `BlendedCosts` or `UsageQuantity`. You can also filter and group your data by various dimensions, such as `SERVICE` or `AZ`, in a specific time range. For a complete list of valid dimensions, see the [GetDimensionValues](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_GetDimensionValues.html) operation. Management account in an organization in Amazon Organizations have access to all member accounts.

For information about filter limitations, see [Quotas and restrictions](https://docs.amazonaws.cn/awsaccountbilling/latest/aboutv2/billing-limits.html) in the *Billing and Cost Management User Guide*.

## Request Syntax


```
{
   "BillingViewArn": "string",
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "Granularity": "string",
   "GroupBy": [ 
      { 
         "Key": "string",
         "Type": "string"
      }
   ],
   "Metrics": [ "string" ],
   "NextPageToken": "string",
   "TimePeriod": { 
      "End": "string",
      "Start": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [BillingViewArn](#API_GetCostAndUsage_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsage-request-BillingViewArn"></a>
The Amazon Resource Name (ARN) that uniquely identifies a specific billing view. The ARN is used to specify which particular billing view you want to interact with or retrieve information from when making API calls related to Amazon Billing and Cost Management features. The BillingViewArn can be retrieved by calling the ListBillingViews API.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `^arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[-a-zA-Z0-9/:_+=.-@]{1,43}$`   
Required: No

 ** [Filter](#API_GetCostAndUsage_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsage-request-Filter"></a>
Filters Amazon costs by different dimensions. For example, you can specify `SERVICE` and `LINKED_ACCOUNT` and get the costs that are associated with that account's usage of that service. You can nest `Expression` objects to define any combination of dimension filters. For more information, see [Expression](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_Expression.html).   
Valid values for `MatchOptions` for `Dimensions` are `EQUALS` and `CASE_SENSITIVE`.  
Valid values for `MatchOptions` for `CostCategories` and `Tags` are `EQUALS`, `ABSENT`, and `CASE_SENSITIVE`. Default values are `EQUALS` and `CASE_SENSITIVE`.  
Type: [Expression](API_Expression.md) object  
Required: No

 ** [Granularity](#API_GetCostAndUsage_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsage-request-Granularity"></a>
Sets the Amazon cost granularity to `MONTHLY` or `DAILY`, or `HOURLY`. If `Granularity` isn't set, the response object doesn't include the `Granularity`, either `MONTHLY` or `DAILY`, or `HOURLY`.   
Type: String  
Valid Values: `DAILY | MONTHLY | HOURLY`   
Required: Yes

 ** [GroupBy](#API_GetCostAndUsage_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsage-request-GroupBy"></a>
You can group Amazon costs using up to two different groups, either dimensions, tag keys, cost categories, or any two group by types.  
Valid values for the `DIMENSION` type are `AZ`, `INSTANCE_TYPE`, `LEGAL_ENTITY_NAME`, `INVOICING_ENTITY`, `LINKED_ACCOUNT`, `OPERATION`, `PLATFORM`, `PURCHASE_TYPE`, `SERVICE`, `TENANCY`, `RECORD_TYPE`, and `USAGE_TYPE`.  
When you group by the `TAG` type and include a valid tag key, you get all tag values, including empty strings.  
Type: Array of [GroupDefinition](API_GroupDefinition.md) objects  
Required: No

 ** [Metrics](#API_GetCostAndUsage_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsage-request-Metrics"></a>
Which metrics are returned in the query. For more information about blended and unblended rates, see [Why does the "blended" annotation appear on some line items in my bill?](http://www.amazonaws.cn/premiumsupport/knowledge-center/blended-rates-intro/).   
Valid values are `AmortizedCost`, `BlendedCost`, `NetAmortizedCost`, `NetUnblendedCost`, `NormalizedUsageAmount`, `UnblendedCost`, and `UsageQuantity`.   
If you return the `UsageQuantity` metric, the service aggregates all usage numbers without taking into account the units. For example, if you aggregate `usageQuantity` across all of Amazon EC2, the results aren't meaningful because Amazon EC2 compute hours and data transfer are measured in different units (for example, hours and GB). To get more meaningful `UsageQuantity` metrics, filter by `UsageType` or `UsageTypeGroups`. 
 `Metrics` is required for `GetCostAndUsage` requests.  
Type: Array of strings  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: Yes

 ** [NextPageToken](#API_GetCostAndUsage_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsage-request-NextPageToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [TimePeriod](#API_GetCostAndUsage_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsage-request-TimePeriod"></a>
Sets the start date and end date for retrieving Amazon costs. The start date is inclusive, but the end date is exclusive. For example, if `start` is `2017-01-01` and `end` is `2017-05-01`, then the cost and usage data is retrieved from `2017-01-01` up to and including `2017-04-30` but not including `2017-05-01`.  
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

## Response Syntax


```
{
   "DimensionValueAttributes": [ 
      { 
         "Attributes": { 
            "string" : "string" 
         },
         "Value": "string"
      }
   ],
   "GroupDefinitions": [ 
      { 
         "Key": "string",
         "Type": "string"
      }
   ],
   "NextPageToken": "string",
   "ResultsByTime": [ 
      { 
         "Estimated": boolean,
         "Groups": [ 
            { 
               "Keys": [ "string" ],
               "Metrics": { 
                  "string" : { 
                     "Amount": "string",
                     "Unit": "string"
                  }
               }
            }
         ],
         "TimePeriod": { 
            "End": "string",
            "Start": "string"
         },
         "Total": { 
            "string" : { 
               "Amount": "string",
               "Unit": "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.

 ** [DimensionValueAttributes](#API_GetCostAndUsage_ResponseSyntax) **   <a name="awscostmanagement-GetCostAndUsage-response-DimensionValueAttributes"></a>
The attributes that apply to a specific dimension value. For example, if the value is a linked account, the attribute is that account name.  
Type: Array of [DimensionValuesWithAttributes](API_DimensionValuesWithAttributes.md) objects

 ** [GroupDefinitions](#API_GetCostAndUsage_ResponseSyntax) **   <a name="awscostmanagement-GetCostAndUsage-response-GroupDefinitions"></a>
The groups that are specified by the `Filter` or `GroupBy` parameters in the request.  
Type: Array of [GroupDefinition](API_GroupDefinition.md) objects

 ** [NextPageToken](#API_GetCostAndUsage_ResponseSyntax) **   <a name="awscostmanagement-GetCostAndUsage-response-NextPageToken"></a>
The token for the next set of retrievable results. Amazon provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [ResultsByTime](#API_GetCostAndUsage_ResponseSyntax) **   <a name="awscostmanagement-GetCostAndUsage-response-ResultsByTime"></a>
The time period that's covered by the results in the response.  
Type: Array of [ResultByTime](API_ResultByTime.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** BillExpirationException **   
The requested report expired. Update the date interval and try again.  
HTTP Status Code: 400

 ** BillingViewHealthStatusException **   
 The billing view status must be `HEALTHY` to perform this action. Try again when the status is `HEALTHY`.   
HTTP Status Code: 400

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** RequestChangedException **   
Your request parameters changed between pages. Try again with the old parameters or without a pagination token.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

## Examples


### Example


The following is a sample request and response of the `GetCostAndUsage` operation that you can use to retrieve your Amazon S3 costs. For more complex examples, such as multi-level groupings, see [Expression](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_Expression.html).

#### Sample Request


```
POST / HTTP/1.1
Host: ce.us-east-1.amazonaws.com
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: AWSInsightsIndexService.GetCostAndUsage
{
  "TimePeriod": {
    "Start":"2017-09-01",
    "End": "2017-10-01"
  },
  "Granularity": "MONTHLY",
  "Filter": {      
    "Dimensions": {
      "Key": "SERVICE",
      "Values": [
        "Amazon Simple Storage Service"
      ]
    }
  },
  "GroupBy":[
    {
      "Type":"DIMENSION",
      "Key":"SERVICE"
    },
    {
      "Type":"TAG",
      "Key":"Environment"
    }
  ],
   "Metrics":["BlendedCost", "UnblendedCost", "UsageQuantity"]
}
```

#### Sample Response


```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  "GroupDefinitions": [
    {
      "Key": "SERVICE",
      "Type": "DIMENSION"
    },
    {
      "Key": "Environment",
      "Type": "TAG"
    }
  ],
  "ResultsByTime": [
    {
      "Estimated": false,
      "Groups": [
        {
          "Keys": [
            "Amazon Simple Storage Service",
            "Environment$Prod"
          ],
          "Metrics": {
            "BlendedCost": {
              "Amount": "39.1603300457",
              "Unit": "USD"
            },
            "UnblendedCost": {
              "Amount": "39.1603300457",
              "Unit": "USD"
            },
            "UsageQuantity": {
              "Amount": "173842.5440074444",
              "Unit": "N/A"
            }
          }
        },
        {
          "Keys": [
            "Amazon Simple Storage Service",
            "Environment$Test"
          ],
          "Metrics": {
            "BlendedCost": {
              "Amount": "0.1337464807",
              "Unit": "USD"
            },
            "UnblendedCost": {
             "Amount": "0.1337464807",
              "Unit": "USD"
            },
            "UsageQuantity": {
              "Amount": "15992.0786663399",
              "Unit": "N/A"
            }
          }
        }
      ],
      "TimePeriod": {
        "End": "2017-10-01",
        "Start": "2017-09-01"
      },
      "Total": {}
    }
  ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetCostAndUsage) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetCostAndUsage) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetCostAndUsage) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetCostAndUsage) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetCostAndUsage) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetCostAndUsage) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetCostAndUsage) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetCostAndUsage) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetCostAndUsage) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetCostAndUsage) 

# GetCostAndUsageComparisons


Retrieves cost and usage comparisons for your account between two periods within the last 13 months. If you have enabled multi-year data at monthly granularity, you can go back up to 38 months.

## Request Syntax


```
{
   "BaselineTimePeriod": { 
      "End": "string",
      "Start": "string"
   },
   "BillingViewArn": "string",
   "ComparisonTimePeriod": { 
      "End": "string",
      "Start": "string"
   },
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "GroupBy": [ 
      { 
         "Key": "string",
         "Type": "string"
      }
   ],
   "MaxResults": number,
   "MetricForComparison": "string",
   "NextPageToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [BaselineTimePeriod](#API_GetCostAndUsageComparisons_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsageComparisons-request-BaselineTimePeriod"></a>
The reference time period for comparison. This time period serves as the baseline against which other cost and usage data will be compared. The interval must start and end on the first day of a month, with a duration of exactly one month.  
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

 ** [BillingViewArn](#API_GetCostAndUsageComparisons_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsageComparisons-request-BillingViewArn"></a>
The Amazon Resource Name (ARN) that uniquely identifies a specific billing view. The ARN is used to specify which particular billing view you want to interact with or retrieve information from when making API calls related to Amazon Billing and Cost Management features. The BillingViewArn can be retrieved by calling the ListBillingViews API.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `^arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[-a-zA-Z0-9/:_+=.-@]{1,43}$`   
Required: No

 ** [ComparisonTimePeriod](#API_GetCostAndUsageComparisons_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsageComparisons-request-ComparisonTimePeriod"></a>
The comparison time period for analysis. This time period's cost and usage data will be compared against the baseline time period. The interval must start and end on the first day of a month, with a duration of exactly one month.  
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

 ** [Filter](#API_GetCostAndUsageComparisons_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsageComparisons-request-Filter"></a>
Use `Expression` to filter in various Cost Explorer APIs.  
Not all `Expression` types are supported in each API. Refer to the documentation for each specific API to see what is supported.  
There are two patterns:  
+ Simple dimension values.
  + There are three types of simple dimension values: `CostCategories`, `Tags`, and `Dimensions`.
    + Specify the `CostCategories` field to define a filter that acts on Cost Categories.
    + Specify the `Tags` field to define a filter that acts on Cost Allocation Tags.
    + Specify the `Dimensions` field to define a filter that acts on the [https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_DimensionValues.html](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_DimensionValues.html).
  + For each filter type, you can set the dimension name and values for the filters that you plan to use.
    + For example, you can filter for `REGION==us-east-1 OR REGION==us-west-1`. For `GetRightsizingRecommendation`, the Region is a full name (for example, `REGION==US East (N. Virginia)`.
    + The corresponding `Expression` for this example is as follows: `{ "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] } }` 
    + As shown in the previous example, lists of dimension values are combined with `OR` when applying the filter.
  + You can also set different match options to further control how the filter behaves. Not all APIs support match options. Refer to the documentation for each specific API to see what is supported.
    + For example, you can filter for linked account names that start with "a".
    + The corresponding `Expression` for this example is as follows: `{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME", "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] } }` 
+ Compound `Expression` types with logical operations.
  + You can use multiple `Expression` types and the logical operators `AND/OR/NOT` to create a list of one or more `Expression` objects. By doing this, you can filter by more advanced options.
  + For example, you can filter by `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)`.
  + The corresponding `Expression` for this example is as follows: `{ "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } ` 
**Note**  
Because each `Expression` can have only one operator, the service returns an error if more than one is specified. The following example shows an `Expression` object that creates an error: ` { "And": [ ... ], "Dimensions": { "Key": "USAGE_TYPE", "Values": [ "DataTransfer" ] } } `   
The following is an example of the corresponding error message: `"Expression has more than one roots. Only one root operator is allowed for each expression: And, Or, Not, Dimensions, Tags, CostCategories"` 
For the `GetRightsizingRecommendation` action, a combination of OR and NOT isn't supported. OR isn't supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or `RIGHTSIZING_TYPE`.  
For the `GetReservationPurchaseRecommendation` action, only NOT is supported. AND and OR aren't supported. Dimensions are limited to `LINKED_ACCOUNT`.
Type: [Expression](API_Expression.md) object  
Required: No

 ** [GroupBy](#API_GetCostAndUsageComparisons_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsageComparisons-request-GroupBy"></a>
You can group results using the attributes `DIMENSION`, `TAG`, and `COST_CATEGORY`.   
Type: Array of [GroupDefinition](API_GroupDefinition.md) objects  
Required: No

 ** [MaxResults](#API_GetCostAndUsageComparisons_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsageComparisons-request-MaxResults"></a>
The maximum number of results that are returned for the request.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 2000.  
Required: No

 ** [MetricForComparison](#API_GetCostAndUsageComparisons_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsageComparisons-request-MetricForComparison"></a>
The cost and usage metric to compare. Valid values are `AmortizedCost`, `BlendedCost`, `NetAmortizedCost`, `NetUnblendedCost`, `NormalizedUsageAmount`, `UnblendedCost`, and `UsageQuantity`.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: Yes

 ** [NextPageToken](#API_GetCostAndUsageComparisons_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsageComparisons-request-NextPageToken"></a>
The token to retrieve the next set of paginated results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "CostAndUsageComparisons": [ 
      { 
         "CostAndUsageSelector": { 
            "And": [ 
               "Expression"
            ],
            "CostCategories": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            },
            "Dimensions": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            },
            "Not": "Expression",
            "Or": [ 
               "Expression"
            ],
            "Tags": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            }
         },
         "Metrics": { 
            "string" : { 
               "BaselineTimePeriodAmount": "string",
               "ComparisonTimePeriodAmount": "string",
               "Difference": "string",
               "Unit": "string"
            }
         }
      }
   ],
   "NextPageToken": "string",
   "TotalCostAndUsage": { 
      "string" : { 
         "BaselineTimePeriodAmount": "string",
         "ComparisonTimePeriodAmount": "string",
         "Difference": "string",
         "Unit": "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.

 ** [CostAndUsageComparisons](#API_GetCostAndUsageComparisons_ResponseSyntax) **   <a name="awscostmanagement-GetCostAndUsageComparisons-response-CostAndUsageComparisons"></a>
An array of comparison results showing cost and usage metrics between `BaselineTimePeriod` and `ComparisonTimePeriod`.  
Type: Array of [CostAndUsageComparison](API_CostAndUsageComparison.md) objects

 ** [NextPageToken](#API_GetCostAndUsageComparisons_ResponseSyntax) **   <a name="awscostmanagement-GetCostAndUsageComparisons-response-NextPageToken"></a>
The token to retrieve the next set of paginated results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [TotalCostAndUsage](#API_GetCostAndUsageComparisons_ResponseSyntax) **   <a name="awscostmanagement-GetCostAndUsageComparisons-response-TotalCostAndUsage"></a>
A summary of the total cost and usage, comparing amounts between `BaselineTimePeriod` and `ComparisonTimePeriod` and their differences. This total represents the aggregate total across all paginated results, if the response spans multiple pages.  
Type: String to [ComparisonMetricValue](API_ComparisonMetricValue.md) object map  
Key Length Constraints: Minimum length of 0. Maximum length of 1024.  
Key Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** BillingViewHealthStatusException **   
 The billing view status must be `HEALTHY` to perform this action. Try again when the status is `HEALTHY`.   
HTTP Status Code: 400

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetCostAndUsageComparisons) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetCostAndUsageComparisons) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetCostAndUsageComparisons) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetCostAndUsageComparisons) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetCostAndUsageComparisons) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetCostAndUsageComparisons) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetCostAndUsageComparisons) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetCostAndUsageComparisons) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetCostAndUsageComparisons) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetCostAndUsageComparisons) 

# GetCostAndUsageWithResources


Retrieves cost and usage metrics with resources for your account. You can specify which cost and usage-related metric, such as `BlendedCosts` or `UsageQuantity`, that you want the request to return. You can also filter and group your data by various dimensions, such as `SERVICE` or `AZ`, in a specific time range. For a complete list of valid dimensions, see the [GetDimensionValues](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_GetDimensionValues.html) operation. Management account in an organization in Amazon Organizations have access to all member accounts.

Hourly granularity is only available for EC2-Instances (Elastic Compute Cloud) resource-level data. All other resource-level data is available at daily granularity.

**Note**  
This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information about how to access the Settings page, see [Controlling Access for Cost Explorer](https://docs.amazonaws.cn/awsaccountbilling/latest/aboutv2/ce-access.html) in the * Amazon Billing and Cost Management User Guide*.

## Request Syntax


```
{
   "BillingViewArn": "string",
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "Granularity": "string",
   "GroupBy": [ 
      { 
         "Key": "string",
         "Type": "string"
      }
   ],
   "Metrics": [ "string" ],
   "NextPageToken": "string",
   "TimePeriod": { 
      "End": "string",
      "Start": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [BillingViewArn](#API_GetCostAndUsageWithResources_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsageWithResources-request-BillingViewArn"></a>
The Amazon Resource Name (ARN) that uniquely identifies a specific billing view. The ARN is used to specify which particular billing view you want to interact with or retrieve information from when making API calls related to Amazon Billing and Cost Management features. The BillingViewArn can be retrieved by calling the ListBillingViews API.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `^arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[-a-zA-Z0-9/:_+=.-@]{1,43}$`   
Required: No

 ** [Filter](#API_GetCostAndUsageWithResources_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsageWithResources-request-Filter"></a>
Filters Amazon Web Services costs by different dimensions. For example, you can specify `SERVICE` and `LINKED_ACCOUNT` and get the costs that are associated with that account's usage of that service. You can nest `Expression` objects to define any combination of dimension filters. For more information, see [Expression](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_Expression.html).   
The `GetCostAndUsageWithResources` operation requires that you either group by or filter by a `ResourceId`. It requires the [Expression](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_Expression.html) `"SERVICE = Amazon Elastic Compute Cloud - Compute"` in the filter.  
Valid values for `MatchOptions` for `Dimensions` are `EQUALS` and `CASE_SENSITIVE`.  
Valid values for `MatchOptions` for `CostCategories` and `Tags` are `EQUALS`, `ABSENT`, and `CASE_SENSITIVE`. Default values are `EQUALS` and `CASE_SENSITIVE`.  
Type: [Expression](API_Expression.md) object  
Required: Yes

 ** [Granularity](#API_GetCostAndUsageWithResources_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsageWithResources-request-Granularity"></a>
Sets the Amazon cost granularity to `MONTHLY`, `DAILY`, or `HOURLY`. If `Granularity` isn't set, the response object doesn't include the `Granularity`, `MONTHLY`, `DAILY`, or `HOURLY`.   
Type: String  
Valid Values: `DAILY | MONTHLY | HOURLY`   
Required: Yes

 ** [GroupBy](#API_GetCostAndUsageWithResources_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsageWithResources-request-GroupBy"></a>
You can group Amazon Web Services costs using up to two different groups: `DIMENSION`, `TAG`, `COST_CATEGORY`.  
Type: Array of [GroupDefinition](API_GroupDefinition.md) objects  
Required: No

 ** [Metrics](#API_GetCostAndUsageWithResources_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsageWithResources-request-Metrics"></a>
Which metrics are returned in the query. For more information about blended and unblended rates, see [Why does the "blended" annotation appear on some line items in my bill?](http://www.amazonaws.cn/premiumsupport/knowledge-center/blended-rates-intro/).   
Valid values are `AmortizedCost`, `BlendedCost`, `NetAmortizedCost`, `NetUnblendedCost`, `NormalizedUsageAmount`, `UnblendedCost`, and `UsageQuantity`.   
If you return the `UsageQuantity` metric, the service aggregates all usage numbers without taking the units into account. For example, if you aggregate `usageQuantity` across all of Amazon EC2, the results aren't meaningful because Amazon EC2 compute hours and data transfer are measured in different units (for example, hour or GB). To get more meaningful `UsageQuantity` metrics, filter by `UsageType` or `UsageTypeGroups`. 
 `Metrics` is required for `GetCostAndUsageWithResources` requests.  
Type: Array of strings  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

 ** [NextPageToken](#API_GetCostAndUsageWithResources_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsageWithResources-request-NextPageToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [TimePeriod](#API_GetCostAndUsageWithResources_RequestSyntax) **   <a name="awscostmanagement-GetCostAndUsageWithResources-request-TimePeriod"></a>
Sets the start and end dates for retrieving Amazon Web Services costs. The range must be within the last 14 days (the start date cannot be earlier than 14 days ago). The start date is inclusive, but the end date is exclusive. For example, if `start` is `2017-01-01` and `end` is `2017-05-01`, then the cost and usage data is retrieved from `2017-01-01` up to and including `2017-04-30` but not including `2017-05-01`.  
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

## Response Syntax


```
{
   "DimensionValueAttributes": [ 
      { 
         "Attributes": { 
            "string" : "string" 
         },
         "Value": "string"
      }
   ],
   "GroupDefinitions": [ 
      { 
         "Key": "string",
         "Type": "string"
      }
   ],
   "NextPageToken": "string",
   "ResultsByTime": [ 
      { 
         "Estimated": boolean,
         "Groups": [ 
            { 
               "Keys": [ "string" ],
               "Metrics": { 
                  "string" : { 
                     "Amount": "string",
                     "Unit": "string"
                  }
               }
            }
         ],
         "TimePeriod": { 
            "End": "string",
            "Start": "string"
         },
         "Total": { 
            "string" : { 
               "Amount": "string",
               "Unit": "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.

 ** [DimensionValueAttributes](#API_GetCostAndUsageWithResources_ResponseSyntax) **   <a name="awscostmanagement-GetCostAndUsageWithResources-response-DimensionValueAttributes"></a>
The attributes that apply to a specific dimension value. For example, if the value is a linked account, the attribute is that account name.  
Type: Array of [DimensionValuesWithAttributes](API_DimensionValuesWithAttributes.md) objects

 ** [GroupDefinitions](#API_GetCostAndUsageWithResources_ResponseSyntax) **   <a name="awscostmanagement-GetCostAndUsageWithResources-response-GroupDefinitions"></a>
The groups that are specified by the `Filter` or `GroupBy` parameters in the request.  
Type: Array of [GroupDefinition](API_GroupDefinition.md) objects

 ** [NextPageToken](#API_GetCostAndUsageWithResources_ResponseSyntax) **   <a name="awscostmanagement-GetCostAndUsageWithResources-response-NextPageToken"></a>
The token for the next set of retrievable results. Amazon provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [ResultsByTime](#API_GetCostAndUsageWithResources_ResponseSyntax) **   <a name="awscostmanagement-GetCostAndUsageWithResources-response-ResultsByTime"></a>
The time period that's covered by the results in the response.  
Type: Array of [ResultByTime](API_ResultByTime.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** BillExpirationException **   
The requested report expired. Update the date interval and try again.  
HTTP Status Code: 400

 ** BillingViewHealthStatusException **   
 The billing view status must be `HEALTHY` to perform this action. Try again when the status is `HEALTHY`.   
HTTP Status Code: 400

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** RequestChangedException **   
Your request parameters changed between pages. Try again with the old parameters or without a pagination token.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

## Examples


### Example


The following is a sample request and response of the `GetCostAndUsageWithResources` operation that enables you to retrieve your Amazon EC2 costs. For more complex examples, such as multi-level groupings, see [Expression](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_Expression.html).

#### Sample Request


```
POST / HTTP/1.1
Host: ce.us-east-1.amazonaws.com
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: AWSInsightsIndexService.GetCostAndUsageWithResources
{
  "TimePeriod": {
    "Start":"2018-11-19",
    "End": "2018-11-20"
  },
  "Granularity": "DAILY",
  "Filter": {      
    "Dimensions": {
      "Key": "SERVICE",
      "Values": [
        "Amazon Elastic Compute Cloud - Compute"
      ]
    }
  },
  "GroupBy":[
    {
      "Type":"DIMENSION",
      "Key":"RESOURCE_ID"
    }
  ],
   "Metrics":["BlendedCost", "UnblendedCost", "UsageQuantity"]
}
```

#### Sample Response


```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  "GroupDefinitions": [
    {
      "Key": "RESOURCE_ID",
      "Type": "DIMENSION"
    }
  ],
  "ResultsByTime": [
    {
      "Estimated": true,
      "Groups": [
        {
          "Keys": [
            "i-00cb32c5f3163"
          ],
          "Metrics": {
            "BlendedCost": {
              "Amount": "0.0927335232",
              "Unit": "USD"
            },
            "UnblendedCost": {
              "Amount": "0.1276",
              "Unit": "USD"
            },
            "UsageQuantity": {
              "Amount": "24.0010557602",
              "Unit": "N/A"
            }
          }
        },
        {
          "Keys": [
            "i-04a0089019f41"
          ],
          "Metrics": {
            "BlendedCost": {
              "Amount": "0.1656",
              "Unit": "USD"
            },
            "UnblendedCost": {
              "Amount": "0.1656",
              "Unit": "USD"
            },
            "UsageQuantity": {
              "Amount": "24.0018044403",
              "Unit": "N/A"
            }
          }
        },
        {
          "Keys": [
            "i-03b49bda9fdef"
          ],
          "Metrics": {
            "BlendedCost": {
              "Amount": "0.0927335232",
              "Unit": "USD"
            },
            "UnblendedCost": {
              "Amount": "0.0116",
              "Unit": "USD"
            },
            "UsageQuantity": {
              "Amount": "24.0009345564",
              "Unit": "N/A"
            }
          }
        },
        {
          "Keys": [
            "i-0e56e09d11711"
          ],
          "Metrics": {
            "BlendedCost": {
              "Amount": "0.0927335232",
              "Unit": "USD"
            },
            "UnblendedCost": {
              "Amount": "0.1392",
              "Unit": "USD"
            },
            "UsageQuantity": {
              "Amount": "24.0011066563",
              "Unit": "N/A"
            }
          }
        }
      ],
      "TimePeriod": {
        "End": "2018-11-20T00:00:00Z",
        "Start": "2018-11-19T00:00:00Z"
      },
      "Total": {}
    }
  ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetCostAndUsageWithResources) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetCostAndUsageWithResources) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetCostAndUsageWithResources) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetCostAndUsageWithResources) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetCostAndUsageWithResources) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetCostAndUsageWithResources) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetCostAndUsageWithResources) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetCostAndUsageWithResources) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetCostAndUsageWithResources) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetCostAndUsageWithResources) 

# GetCostCategories


Retrieves an array of cost category names and values incurred cost.

**Note**  
If some cost category names and values are not associated with any cost, they will not be returned by this API.

## Request Syntax


```
{
   "BillingViewArn": "string",
   "CostCategoryName": "string",
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "MaxResults": number,
   "NextPageToken": "string",
   "SearchString": "string",
   "SortBy": [ 
      { 
         "Key": "string",
         "SortOrder": "string"
      }
   ],
   "TimePeriod": { 
      "End": "string",
      "Start": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [BillingViewArn](#API_GetCostCategories_RequestSyntax) **   <a name="awscostmanagement-GetCostCategories-request-BillingViewArn"></a>
The Amazon Resource Name (ARN) that uniquely identifies a specific billing view. The ARN is used to specify which particular billing view you want to interact with or retrieve information from when making API calls related to Amazon Billing and Cost Management features. The BillingViewArn can be retrieved by calling the ListBillingViews API.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `^arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[-a-zA-Z0-9/:_+=.-@]{1,43}$`   
Required: No

 ** [CostCategoryName](#API_GetCostCategories_RequestSyntax) **   <a name="awscostmanagement-GetCostCategories-request-CostCategoryName"></a>
The unique name of the cost category.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `^(?! )[\p{L}\p{N}\p{Z}-_]*(?<! )$`   
Required: No

 ** [Filter](#API_GetCostCategories_RequestSyntax) **   <a name="awscostmanagement-GetCostCategories-request-Filter"></a>
Use `Expression` to filter in various Cost Explorer APIs.  
Not all `Expression` types are supported in each API. Refer to the documentation for each specific API to see what is supported.  
There are two patterns:  
+ Simple dimension values.
  + There are three types of simple dimension values: `CostCategories`, `Tags`, and `Dimensions`.
    + Specify the `CostCategories` field to define a filter that acts on Cost Categories.
    + Specify the `Tags` field to define a filter that acts on Cost Allocation Tags.
    + Specify the `Dimensions` field to define a filter that acts on the [https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_DimensionValues.html](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_DimensionValues.html).
  + For each filter type, you can set the dimension name and values for the filters that you plan to use.
    + For example, you can filter for `REGION==us-east-1 OR REGION==us-west-1`. For `GetRightsizingRecommendation`, the Region is a full name (for example, `REGION==US East (N. Virginia)`.
    + The corresponding `Expression` for this example is as follows: `{ "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] } }` 
    + As shown in the previous example, lists of dimension values are combined with `OR` when applying the filter.
  + You can also set different match options to further control how the filter behaves. Not all APIs support match options. Refer to the documentation for each specific API to see what is supported.
    + For example, you can filter for linked account names that start with "a".
    + The corresponding `Expression` for this example is as follows: `{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME", "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] } }` 
+ Compound `Expression` types with logical operations.
  + You can use multiple `Expression` types and the logical operators `AND/OR/NOT` to create a list of one or more `Expression` objects. By doing this, you can filter by more advanced options.
  + For example, you can filter by `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)`.
  + The corresponding `Expression` for this example is as follows: `{ "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } ` 
**Note**  
Because each `Expression` can have only one operator, the service returns an error if more than one is specified. The following example shows an `Expression` object that creates an error: ` { "And": [ ... ], "Dimensions": { "Key": "USAGE_TYPE", "Values": [ "DataTransfer" ] } } `   
The following is an example of the corresponding error message: `"Expression has more than one roots. Only one root operator is allowed for each expression: And, Or, Not, Dimensions, Tags, CostCategories"` 
For the `GetRightsizingRecommendation` action, a combination of OR and NOT isn't supported. OR isn't supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or `RIGHTSIZING_TYPE`.  
For the `GetReservationPurchaseRecommendation` action, only NOT is supported. AND and OR aren't supported. Dimensions are limited to `LINKED_ACCOUNT`.
Type: [Expression](API_Expression.md) object  
Required: No

 ** [MaxResults](#API_GetCostCategories_RequestSyntax) **   <a name="awscostmanagement-GetCostCategories-request-MaxResults"></a>
This field is only used when the `SortBy` value is provided in the request.  
The maximum number of objects that are returned for this request. If `MaxResults` isn't specified with the `SortBy` value, the request returns 1000 results as the default value for this parameter.  
For `GetCostCategories`, MaxResults has an upper quota of 1000.  
Type: Integer  
Valid Range: Minimum value of 1.  
Required: No

 ** [NextPageToken](#API_GetCostCategories_RequestSyntax) **   <a name="awscostmanagement-GetCostCategories-request-NextPageToken"></a>
If the number of objects that are still available for retrieval exceeds the quota, Amazon returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the NextPageToken from the previous call in your next request.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [SearchString](#API_GetCostCategories_RequestSyntax) **   <a name="awscostmanagement-GetCostCategories-request-SearchString"></a>
The value that you want to search the filter values for.  
If you don't specify a `CostCategoryName`, `SearchString` is used to filter cost category names that match the `SearchString` pattern. If you specify a `CostCategoryName`, `SearchString` is used to filter cost category values that match the `SearchString` pattern.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

 ** [SortBy](#API_GetCostCategories_RequestSyntax) **   <a name="awscostmanagement-GetCostCategories-request-SortBy"></a>
The value that you sort the data by.  
The key represents the cost and usage metrics. The following values are supported:  
+  `BlendedCost` 
+  `UnblendedCost` 
+  `AmortizedCost` 
+  `NetAmortizedCost` 
+  `NetUnblendedCost` 
+  `UsageQuantity` 
+  `NormalizedUsageAmount` 
The supported key values for the `SortOrder` value are `ASCENDING` and `DESCENDING`.  
When you use the `SortBy` value, the `NextPageToken` and `SearchString` key values aren't supported.  
Type: Array of [SortDefinition](API_SortDefinition.md) objects  
Required: No

 ** [TimePeriod](#API_GetCostCategories_RequestSyntax) **   <a name="awscostmanagement-GetCostCategories-request-TimePeriod"></a>
The time period of the request.   
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

## Response Syntax


```
{
   "CostCategoryNames": [ "string" ],
   "CostCategoryValues": [ "string" ],
   "NextPageToken": "string",
   "ReturnSize": number,
   "TotalSize": 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.

 ** [CostCategoryNames](#API_GetCostCategories_ResponseSyntax) **   <a name="awscostmanagement-GetCostCategories-response-CostCategoryNames"></a>
The names of the cost categories.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `^(?! )[\p{L}\p{N}\p{Z}-_]*(?<! )$` 

 ** [CostCategoryValues](#API_GetCostCategories_ResponseSyntax) **   <a name="awscostmanagement-GetCostCategories-response-CostCategoryValues"></a>
The cost category values.  
If the `CostCategoryName` key isn't specified in the request, the `CostCategoryValues` fields aren't returned.   
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `^(?! )[\p{L}\p{N}\p{Z}-_]*(?<! )$` 

 ** [NextPageToken](#API_GetCostCategories_ResponseSyntax) **   <a name="awscostmanagement-GetCostCategories-response-NextPageToken"></a>
If the number of objects that are still available for retrieval exceeds the quota, Amazon returns a NextPageToken value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [ReturnSize](#API_GetCostCategories_ResponseSyntax) **   <a name="awscostmanagement-GetCostCategories-response-ReturnSize"></a>
The number of objects that are returned.  
Type: Integer

 ** [TotalSize](#API_GetCostCategories_ResponseSyntax) **   <a name="awscostmanagement-GetCostCategories-response-TotalSize"></a>
The total number of objects.  
Type: Integer

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** BillExpirationException **   
The requested report expired. Update the date interval and try again.  
HTTP Status Code: 400

 ** BillingViewHealthStatusException **   
 The billing view status must be `HEALTHY` to perform this action. Try again when the status is `HEALTHY`.   
HTTP Status Code: 400

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** RequestChangedException **   
Your request parameters changed between pages. Try again with the old parameters or without a pagination token.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetCostCategories) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetCostCategories) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetCostCategories) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetCostCategories) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetCostCategories) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetCostCategories) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetCostCategories) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetCostCategories) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetCostCategories) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetCostCategories) 

# GetCostComparisonDrivers


Retrieves key factors driving cost changes between two time periods within the last 13 months, such as usage changes, discount changes, and commitment-based savings. If you have enabled multi-year data at monthly granularity, you can go back up to 38 months.

## Request Syntax


```
{
   "BaselineTimePeriod": { 
      "End": "string",
      "Start": "string"
   },
   "BillingViewArn": "string",
   "ComparisonTimePeriod": { 
      "End": "string",
      "Start": "string"
   },
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "GroupBy": [ 
      { 
         "Key": "string",
         "Type": "string"
      }
   ],
   "MaxResults": number,
   "MetricForComparison": "string",
   "NextPageToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [BaselineTimePeriod](#API_GetCostComparisonDrivers_RequestSyntax) **   <a name="awscostmanagement-GetCostComparisonDrivers-request-BaselineTimePeriod"></a>
The reference time period for comparison. This time period serves as the baseline against which other cost and usage data will be compared. The interval must start and end on the first day of a month, with a duration of exactly one month.  
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

 ** [BillingViewArn](#API_GetCostComparisonDrivers_RequestSyntax) **   <a name="awscostmanagement-GetCostComparisonDrivers-request-BillingViewArn"></a>
The Amazon Resource Name (ARN) that uniquely identifies a specific billing view. The ARN is used to specify which particular billing view you want to interact with or retrieve information from when making API calls related to Amazon Billing and Cost Management features. The BillingViewArn can be retrieved by calling the ListBillingViews API.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `^arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[-a-zA-Z0-9/:_+=.-@]{1,43}$`   
Required: No

 ** [ComparisonTimePeriod](#API_GetCostComparisonDrivers_RequestSyntax) **   <a name="awscostmanagement-GetCostComparisonDrivers-request-ComparisonTimePeriod"></a>
The comparison time period for analysis. This time period's cost and usage data will be compared against the baseline time period. The interval must start and end on the first day of a month, with a duration of exactly one month.  
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

 ** [Filter](#API_GetCostComparisonDrivers_RequestSyntax) **   <a name="awscostmanagement-GetCostComparisonDrivers-request-Filter"></a>
Use `Expression` to filter in various Cost Explorer APIs.  
Not all `Expression` types are supported in each API. Refer to the documentation for each specific API to see what is supported.  
There are two patterns:  
+ Simple dimension values.
  + There are three types of simple dimension values: `CostCategories`, `Tags`, and `Dimensions`.
    + Specify the `CostCategories` field to define a filter that acts on Cost Categories.
    + Specify the `Tags` field to define a filter that acts on Cost Allocation Tags.
    + Specify the `Dimensions` field to define a filter that acts on the [https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_DimensionValues.html](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_DimensionValues.html).
  + For each filter type, you can set the dimension name and values for the filters that you plan to use.
    + For example, you can filter for `REGION==us-east-1 OR REGION==us-west-1`. For `GetRightsizingRecommendation`, the Region is a full name (for example, `REGION==US East (N. Virginia)`.
    + The corresponding `Expression` for this example is as follows: `{ "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] } }` 
    + As shown in the previous example, lists of dimension values are combined with `OR` when applying the filter.
  + You can also set different match options to further control how the filter behaves. Not all APIs support match options. Refer to the documentation for each specific API to see what is supported.
    + For example, you can filter for linked account names that start with "a".
    + The corresponding `Expression` for this example is as follows: `{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME", "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] } }` 
+ Compound `Expression` types with logical operations.
  + You can use multiple `Expression` types and the logical operators `AND/OR/NOT` to create a list of one or more `Expression` objects. By doing this, you can filter by more advanced options.
  + For example, you can filter by `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)`.
  + The corresponding `Expression` for this example is as follows: `{ "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } ` 
**Note**  
Because each `Expression` can have only one operator, the service returns an error if more than one is specified. The following example shows an `Expression` object that creates an error: ` { "And": [ ... ], "Dimensions": { "Key": "USAGE_TYPE", "Values": [ "DataTransfer" ] } } `   
The following is an example of the corresponding error message: `"Expression has more than one roots. Only one root operator is allowed for each expression: And, Or, Not, Dimensions, Tags, CostCategories"` 
For the `GetRightsizingRecommendation` action, a combination of OR and NOT isn't supported. OR isn't supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or `RIGHTSIZING_TYPE`.  
For the `GetReservationPurchaseRecommendation` action, only NOT is supported. AND and OR aren't supported. Dimensions are limited to `LINKED_ACCOUNT`.
Type: [Expression](API_Expression.md) object  
Required: No

 ** [GroupBy](#API_GetCostComparisonDrivers_RequestSyntax) **   <a name="awscostmanagement-GetCostComparisonDrivers-request-GroupBy"></a>
You can group results using the attributes `DIMENSION`, `TAG`, and `COST_CATEGORY`. Note that `SERVICE` and `USAGE_TYPE` dimensions are automatically included in the cost comparison drivers analysis.  
Type: Array of [GroupDefinition](API_GroupDefinition.md) objects  
Required: No

 ** [MaxResults](#API_GetCostComparisonDrivers_RequestSyntax) **   <a name="awscostmanagement-GetCostComparisonDrivers-request-MaxResults"></a>
The maximum number of results that are returned for the request.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 10.  
Required: No

 ** [MetricForComparison](#API_GetCostComparisonDrivers_RequestSyntax) **   <a name="awscostmanagement-GetCostComparisonDrivers-request-MetricForComparison"></a>
The cost and usage metric to compare. Valid values are `AmortizedCost`, `BlendedCost`, `NetAmortizedCost`, `NetUnblendedCost`, `NormalizedUsageAmount`, `UnblendedCost`, and `UsageQuantity`.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: Yes

 ** [NextPageToken](#API_GetCostComparisonDrivers_RequestSyntax) **   <a name="awscostmanagement-GetCostComparisonDrivers-request-NextPageToken"></a>
The token to retrieve the next set of paginated results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "CostComparisonDrivers": [ 
      { 
         "CostDrivers": [ 
            { 
               "Metrics": { 
                  "string" : { 
                     "BaselineTimePeriodAmount": "string",
                     "ComparisonTimePeriodAmount": "string",
                     "Difference": "string",
                     "Unit": "string"
                  }
               },
               "Name": "string",
               "Type": "string"
            }
         ],
         "CostSelector": { 
            "And": [ 
               "Expression"
            ],
            "CostCategories": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            },
            "Dimensions": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            },
            "Not": "Expression",
            "Or": [ 
               "Expression"
            ],
            "Tags": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            }
         },
         "Metrics": { 
            "string" : { 
               "BaselineTimePeriodAmount": "string",
               "ComparisonTimePeriodAmount": "string",
               "Difference": "string",
               "Unit": "string"
            }
         }
      }
   ],
   "NextPageToken": "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.

 ** [CostComparisonDrivers](#API_GetCostComparisonDrivers_ResponseSyntax) **   <a name="awscostmanagement-GetCostComparisonDrivers-response-CostComparisonDrivers"></a>
An array of comparison results showing factors that drive significant cost differences between `BaselineTimePeriod` and `ComparisonTimePeriod`.  
Type: Array of [CostComparisonDriver](API_CostComparisonDriver.md) objects

 ** [NextPageToken](#API_GetCostComparisonDrivers_ResponseSyntax) **   <a name="awscostmanagement-GetCostComparisonDrivers-response-NextPageToken"></a>
The token to retrieve the next set of paginated results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** BillingViewHealthStatusException **   
 The billing view status must be `HEALTHY` to perform this action. Try again when the status is `HEALTHY`.   
HTTP Status Code: 400

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetCostComparisonDrivers) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetCostComparisonDrivers) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetCostComparisonDrivers) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetCostComparisonDrivers) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetCostComparisonDrivers) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetCostComparisonDrivers) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetCostComparisonDrivers) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetCostComparisonDrivers) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetCostComparisonDrivers) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetCostComparisonDrivers) 

# GetCostForecast


Retrieves a forecast for how much Amazon Web Services predicts that you will spend over the forecast time period that you select, based on your past costs. 

## Request Syntax


```
{
   "BillingViewArn": "string",
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "Granularity": "string",
   "Metric": "string",
   "PredictionIntervalLevel": number,
   "TimePeriod": { 
      "End": "string",
      "Start": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [BillingViewArn](#API_GetCostForecast_RequestSyntax) **   <a name="awscostmanagement-GetCostForecast-request-BillingViewArn"></a>
The Amazon Resource Name (ARN) that uniquely identifies a specific billing view. The ARN is used to specify which particular billing view you want to interact with or retrieve information from when making API calls related to Amazon Billing and Cost Management features. The BillingViewArn can be retrieved by calling the ListBillingViews API.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `^arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[-a-zA-Z0-9/:_+=.-@]{1,43}$`   
Required: No

 ** [Filter](#API_GetCostForecast_RequestSyntax) **   <a name="awscostmanagement-GetCostForecast-request-Filter"></a>
The filters that you want to use to filter your forecast. The `GetCostForecast` API supports filtering by the following dimensions:  
+  `AZ` 
+  `INSTANCE_TYPE` 
+  `LINKED_ACCOUNT` 
+  `OPERATION` 
+  `PURCHASE_TYPE` 
+  `REGION` 
+  `SERVICE` 
+  `USAGE_TYPE` 
+  `USAGE_TYPE_GROUP` 
+  `RECORD_TYPE` 
+  `OPERATING_SYSTEM` 
+  `TENANCY` 
+  `SCOPE` 
+  `PLATFORM` 
+  `SUBSCRIPTION_ID` 
+  `LEGAL_ENTITY_NAME` 
+  `DEPLOYMENT_OPTION` 
+  `DATABASE_ENGINE` 
+  `INSTANCE_TYPE_FAMILY` 
+  `BILLING_ENTITY` 
+  `RESERVATION_ID` 
+  `SAVINGS_PLAN_ARN` 
Type: [Expression](API_Expression.md) object  
Required: No

 ** [Granularity](#API_GetCostForecast_RequestSyntax) **   <a name="awscostmanagement-GetCostForecast-request-Granularity"></a>
How granular you want the forecast to be. You can get 3 months of `DAILY` forecasts or 18 months of `MONTHLY` forecasts.  
The `GetCostForecast` operation supports only `DAILY` and `MONTHLY` granularities.  
Type: String  
Valid Values: `DAILY | MONTHLY | HOURLY`   
Required: Yes

 ** [Metric](#API_GetCostForecast_RequestSyntax) **   <a name="awscostmanagement-GetCostForecast-request-Metric"></a>
Which metric Cost Explorer uses to create your forecast. For more information about blended and unblended rates, see [Why does the "blended" annotation appear on some line items in my bill?](http://www.amazonaws.cn/premiumsupport/knowledge-center/blended-rates-intro/).   
Valid values for a `GetCostForecast` call are the following:  
+ AMORTIZED\$1COST
+ BLENDED\$1COST
+ NET\$1AMORTIZED\$1COST
+ NET\$1UNBLENDED\$1COST
+ UNBLENDED\$1COST
Type: String  
Valid Values: `BLENDED_COST | UNBLENDED_COST | AMORTIZED_COST | NET_UNBLENDED_COST | NET_AMORTIZED_COST | USAGE_QUANTITY | NORMALIZED_USAGE_AMOUNT`   
Required: Yes

 ** [PredictionIntervalLevel](#API_GetCostForecast_RequestSyntax) **   <a name="awscostmanagement-GetCostForecast-request-PredictionIntervalLevel"></a>
Cost Explorer always returns the mean forecast as a single point. You can request a prediction interval around the mean by specifying a confidence level. The higher the confidence level, the more confident Cost Explorer is about the actual value falling in the prediction interval. Higher confidence levels result in wider prediction intervals.  
Type: Integer  
Valid Range: Minimum value of 51. Maximum value of 99.  
Required: No

 ** [TimePeriod](#API_GetCostForecast_RequestSyntax) **   <a name="awscostmanagement-GetCostForecast-request-TimePeriod"></a>
The period of time that you want the forecast to cover. The start date must be equal to or no later than the current date to avoid a validation error.  
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

## Response Syntax


```
{
   "ForecastResultsByTime": [ 
      { 
         "MeanValue": "string",
         "PredictionIntervalLowerBound": "string",
         "PredictionIntervalUpperBound": "string",
         "TimePeriod": { 
            "End": "string",
            "Start": "string"
         }
      }
   ],
   "Total": { 
      "Amount": "string",
      "Unit": "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.

 ** [ForecastResultsByTime](#API_GetCostForecast_ResponseSyntax) **   <a name="awscostmanagement-GetCostForecast-response-ForecastResultsByTime"></a>
The forecasts for your query, in order. For `DAILY` forecasts, this is a list of days. For `MONTHLY` forecasts, this is a list of months.  
Type: Array of [ForecastResult](API_ForecastResult.md) objects

 ** [Total](#API_GetCostForecast_ResponseSyntax) **   <a name="awscostmanagement-GetCostForecast-response-Total"></a>
How much you are forecasted to spend over the forecast period, in `USD`.  
Type: [MetricValue](API_MetricValue.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** BillingViewHealthStatusException **   
 The billing view status must be `HEALTHY` to perform this action. Try again when the status is `HEALTHY`.   
HTTP Status Code: 400

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

## Examples


### Example


The following example shows how to retrieve a forecast using the `GetCostForecast` operation.

#### Sample Request


```
POST / HTTP/1.1
Host: ce.us-east-1.amazonaws.com
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: AWSInsightsIndexService.GetCostForecast
{
  "TimePeriod": {
    "Start":"2017-10-25",
    "End": "2017-10-27"
  },
  "Granularity": "DAILY",
  "Filter": {      
    "Dimensions": {
      "Key": "SERVICE",
      "Values": [
        "Amazon Simple Storage Service"
      ]
    }
  },
  "Metric":"BLENDED_COST",
  "PredictionIntervalLevel":85
}
```

#### Sample Response


```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  "ForecastResultsByTime": [
    {
      "MeanValue": "37.0786663399", 
      "PredictionIntervalLowerBound": "34.9970026341", 
      "PredictionIntervalUpperBound": "39.1603300457", 
      "TimePeriod": {
        "End": "2018-10-26", 
        "Start": "2018-10-25"
      }
    }, 
    {
      "MeanValue": "37.0786663399", 
      "PredictionIntervalLowerBound": "34.9970026341", 
      "PredictionIntervalUpperBound": "39.1603300457", 
      "TimePeriod": {
        "End": "2018-10-27", 
        "Start": "2018-10-26"
      }
    }
  ], 
  "Total": {
      "Amount": "74.1573326798", 
      "Unit": "USD"
  }
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetCostForecast) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetCostForecast) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetCostForecast) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetCostForecast) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetCostForecast) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetCostForecast) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetCostForecast) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetCostForecast) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetCostForecast) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetCostForecast) 

# GetDimensionValues


Retrieves all available filter values for a specified filter over a period of time. You can search the dimension values for an arbitrary string. 

## Request Syntax


```
{
   "BillingViewArn": "string",
   "Context": "string",
   "Dimension": "string",
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "MaxResults": number,
   "NextPageToken": "string",
   "SearchString": "string",
   "SortBy": [ 
      { 
         "Key": "string",
         "SortOrder": "string"
      }
   ],
   "TimePeriod": { 
      "End": "string",
      "Start": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [BillingViewArn](#API_GetDimensionValues_RequestSyntax) **   <a name="awscostmanagement-GetDimensionValues-request-BillingViewArn"></a>
The Amazon Resource Name (ARN) that uniquely identifies a specific billing view. The ARN is used to specify which particular billing view you want to interact with or retrieve information from when making API calls related to Amazon Billing and Cost Management features. The BillingViewArn can be retrieved by calling the ListBillingViews API.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `^arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[-a-zA-Z0-9/:_+=.-@]{1,43}$`   
Required: No

 ** [Context](#API_GetDimensionValues_RequestSyntax) **   <a name="awscostmanagement-GetDimensionValues-request-Context"></a>
The context for the call to `GetDimensionValues`. This can be `RESERVATIONS` or `COST_AND_USAGE`. The default value is `COST_AND_USAGE`. If the context is set to `RESERVATIONS`, the resulting dimension values can be used in the `GetReservationUtilization` operation. If the context is set to `COST_AND_USAGE`, the resulting dimension values can be used in the `GetCostAndUsage` operation.  
If you set the context to `COST_AND_USAGE`, you can use the following dimensions for searching:  
+ AZ - The Availability Zone. An example is `us-east-1a`.
+ BILLING\$1ENTITY - The Amazon seller that your account is with. Possible values are the following:

  - Amazon(Amazon Web Services): The entity that sells Amazon Web Services services.

  - AISPL (Amazon Internet Services Pvt. Ltd.): The local Indian entity that's an acting reseller for Amazon Web Services services in India.

  - Amazon Web Services Marketplace: The entity that supports the sale of solutions that are built on Amazon by third-party software providers.
+ CACHE\$1ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.
+ DEPLOYMENT\$1OPTION - The scope of Amazon Relational Database Service deployments. Valid values are `SingleAZ` and `MultiAZ`.
+ DATABASE\$1ENGINE - The Amazon Relational Database Service database. Examples are Aurora or MySQL.
+ INSTANCE\$1TYPE - The type of Amazon EC2 instance. An example is `m4.xlarge`.
+ INSTANCE\$1TYPE\$1FAMILY - A family of instance types optimized to fit different use cases. Examples are `Compute Optimized` (for example, `C4`, `C5`, `C6g`, and `C7g`), `Memory Optimization` (for example, `R4`, `R5n`, `R5b`, and `R6g`).
+ INVOICING\$1ENTITY - The name of the entity that issues the Amazon invoice.
+ LEGAL\$1ENTITY\$1NAME - The name of the organization that sells you Amazon services, such as Amazon Web Services.
+ LINKED\$1ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the Amazon ID of the member account.
+ OPERATING\$1SYSTEM - The operating system. Examples are Windows or Linux.
+ OPERATION - The action performed. Examples include `RunInstance` and `CreateBucket`.
+ PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.
+ PURCHASE\$1TYPE - The reservation type of the purchase that this usage is related to. Examples include On-Demand Instances and Standard Reserved Instances.
+ RESERVATION\$1ID - The unique identifier for an Amazon Reservation Instance.
+ SAVINGS\$1PLAN\$1ARN - The unique identifier for your Savings Plans.
+ SAVINGS\$1PLANS\$1TYPE - Type of Savings Plans (EC2 Instance or Compute).
+ SERVICE - The Amazon service such as Amazon DynamoDB.
+ TENANCY - The tenancy of a resource. Examples are shared or dedicated.
+ USAGE\$1TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the `GetDimensionValues` operation includes a unit attribute. Examples include GB and Hrs.
+ USAGE\$1TYPE\$1GROUP - The grouping of common usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for this operation includes a unit attribute.
+ REGION - The Amazon Web Services Region.
+ RECORD\$1TYPE - The different types of charges such as Reserved Instance (RI) fees, usage costs, tax refunds, and credits.
+ RESOURCE\$1ID - The unique identifier of the resource. ResourceId is an opt-in feature only available for last 14 days for EC2-Compute Service.
If you set the context to `RESERVATIONS`, you can use the following dimensions for searching:  
+ AZ - The Availability Zone. An example is `us-east-1a`.
+ CACHE\$1ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.
+ DEPLOYMENT\$1OPTION - The scope of Amazon Relational Database Service deployments. Valid values are `SingleAZ` and `MultiAZ`.
+ INSTANCE\$1TYPE - The type of Amazon EC2 instance. An example is `m4.xlarge`.
+ LINKED\$1ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the Amazon ID of the member account.
+ PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.
+ REGION - The Amazon Web Services Region.
+ SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.
+ TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI).
+ TENANCY - The tenancy of a resource. Examples are shared or dedicated.
If you set the context to `SAVINGS_PLANS`, you can use the following dimensions for searching:  
+ SAVINGS\$1PLANS\$1TYPE - Type of Savings Plans (EC2 Instance or Compute)
+ PAYMENT\$1OPTION - The payment option for the given Savings Plans (for example, All Upfront)
+ REGION - The Amazon Web Services Region.
+ INSTANCE\$1TYPE\$1FAMILY - The family of instances (For example, `m5`)
+ LINKED\$1ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the Amazon ID of the member account.
+ SAVINGS\$1PLAN\$1ARN - The unique identifier for your Savings Plans.
Type: String  
Valid Values: `COST_AND_USAGE | RESERVATIONS | SAVINGS_PLANS`   
Required: No

 ** [Dimension](#API_GetDimensionValues_RequestSyntax) **   <a name="awscostmanagement-GetDimensionValues-request-Dimension"></a>
The name of the dimension. Each `Dimension` is available for a different `Context`. For more information, see `Context`. `LINK_ACCOUNT_NAME` and `SERVICE_CODE` can only be used in [CostCategoryRule](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/AAPI_CostCategoryRule.html).   
Type: String  
Valid Values: `AZ | INSTANCE_TYPE | LINKED_ACCOUNT | PAYER_ACCOUNT | LINKED_ACCOUNT_NAME | OPERATION | PURCHASE_TYPE | REGION | SERVICE | SERVICE_CODE | USAGE_TYPE | USAGE_TYPE_GROUP | RECORD_TYPE | OPERATING_SYSTEM | TENANCY | SCOPE | PLATFORM | SUBSCRIPTION_ID | LEGAL_ENTITY_NAME | DEPLOYMENT_OPTION | DATABASE_ENGINE | CACHE_ENGINE | INSTANCE_TYPE_FAMILY | BILLING_ENTITY | RESERVATION_ID | RESOURCE_ID | RIGHTSIZING_TYPE | SAVINGS_PLANS_TYPE | SAVINGS_PLAN_ARN | PAYMENT_OPTION | AGREEMENT_END_DATE_TIME_AFTER | AGREEMENT_END_DATE_TIME_BEFORE | INVOICING_ENTITY | ANOMALY_TOTAL_IMPACT_ABSOLUTE | ANOMALY_TOTAL_IMPACT_PERCENTAGE`   
Required: Yes

 ** [Filter](#API_GetDimensionValues_RequestSyntax) **   <a name="awscostmanagement-GetDimensionValues-request-Filter"></a>
Use `Expression` to filter in various Cost Explorer APIs.  
Not all `Expression` types are supported in each API. Refer to the documentation for each specific API to see what is supported.  
There are two patterns:  
+ Simple dimension values.
  + There are three types of simple dimension values: `CostCategories`, `Tags`, and `Dimensions`.
    + Specify the `CostCategories` field to define a filter that acts on Cost Categories.
    + Specify the `Tags` field to define a filter that acts on Cost Allocation Tags.
    + Specify the `Dimensions` field to define a filter that acts on the [https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_DimensionValues.html](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_DimensionValues.html).
  + For each filter type, you can set the dimension name and values for the filters that you plan to use.
    + For example, you can filter for `REGION==us-east-1 OR REGION==us-west-1`. For `GetRightsizingRecommendation`, the Region is a full name (for example, `REGION==US East (N. Virginia)`.
    + The corresponding `Expression` for this example is as follows: `{ "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] } }` 
    + As shown in the previous example, lists of dimension values are combined with `OR` when applying the filter.
  + You can also set different match options to further control how the filter behaves. Not all APIs support match options. Refer to the documentation for each specific API to see what is supported.
    + For example, you can filter for linked account names that start with "a".
    + The corresponding `Expression` for this example is as follows: `{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME", "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] } }` 
+ Compound `Expression` types with logical operations.
  + You can use multiple `Expression` types and the logical operators `AND/OR/NOT` to create a list of one or more `Expression` objects. By doing this, you can filter by more advanced options.
  + For example, you can filter by `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)`.
  + The corresponding `Expression` for this example is as follows: `{ "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } ` 
**Note**  
Because each `Expression` can have only one operator, the service returns an error if more than one is specified. The following example shows an `Expression` object that creates an error: ` { "And": [ ... ], "Dimensions": { "Key": "USAGE_TYPE", "Values": [ "DataTransfer" ] } } `   
The following is an example of the corresponding error message: `"Expression has more than one roots. Only one root operator is allowed for each expression: And, Or, Not, Dimensions, Tags, CostCategories"` 
For the `GetRightsizingRecommendation` action, a combination of OR and NOT isn't supported. OR isn't supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or `RIGHTSIZING_TYPE`.  
For the `GetReservationPurchaseRecommendation` action, only NOT is supported. AND and OR aren't supported. Dimensions are limited to `LINKED_ACCOUNT`.
Type: [Expression](API_Expression.md) object  
Required: No

 ** [MaxResults](#API_GetDimensionValues_RequestSyntax) **   <a name="awscostmanagement-GetDimensionValues-request-MaxResults"></a>
This field is only used when SortBy is provided in the request. The maximum number of objects that are returned for this request. If MaxResults isn't specified with SortBy, the request returns 1000 results as the default value for this parameter.  
For `GetDimensionValues`, MaxResults has an upper limit of 1000.  
Type: Integer  
Valid Range: Minimum value of 1.  
Required: No

 ** [NextPageToken](#API_GetDimensionValues_RequestSyntax) **   <a name="awscostmanagement-GetDimensionValues-request-NextPageToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [SearchString](#API_GetDimensionValues_RequestSyntax) **   <a name="awscostmanagement-GetDimensionValues-request-SearchString"></a>
The value that you want to search the filter values for.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

 ** [SortBy](#API_GetDimensionValues_RequestSyntax) **   <a name="awscostmanagement-GetDimensionValues-request-SortBy"></a>
The value that you want to sort the data by.  
The key represents cost and usage metrics. The following values are supported:  
+  `BlendedCost` 
+  `UnblendedCost` 
+  `AmortizedCost` 
+  `NetAmortizedCost` 
+  `NetUnblendedCost` 
+  `UsageQuantity` 
+  `NormalizedUsageAmount` 
The supported values for the `SortOrder` key are `ASCENDING` or `DESCENDING`.  
When you specify a `SortBy` paramater, the context must be `COST_AND_USAGE`. Further, when using `SortBy`, `NextPageToken` and `SearchString` aren't supported.  
Type: Array of [SortDefinition](API_SortDefinition.md) objects  
Required: No

 ** [TimePeriod](#API_GetDimensionValues_RequestSyntax) **   <a name="awscostmanagement-GetDimensionValues-request-TimePeriod"></a>
The start date and end date for retrieving the dimension values. The start date is inclusive, but the end date is exclusive. For example, if `start` is `2017-01-01` and `end` is `2017-05-01`, then the cost and usage data is retrieved from `2017-01-01` up to and including `2017-04-30` but not including `2017-05-01`.  
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

## Response Syntax


```
{
   "DimensionValues": [ 
      { 
         "Attributes": { 
            "string" : "string" 
         },
         "Value": "string"
      }
   ],
   "NextPageToken": "string",
   "ReturnSize": number,
   "TotalSize": 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.

 ** [DimensionValues](#API_GetDimensionValues_ResponseSyntax) **   <a name="awscostmanagement-GetDimensionValues-response-DimensionValues"></a>
The filters that you used to filter your request. Some dimensions are available only for a specific context.  
If you set the context to `COST_AND_USAGE`, you can use the following dimensions for searching:  
+ AZ - The Availability Zone. An example is `us-east-1a`.
+ DATABASE\$1ENGINE - The Amazon Relational Database Service database. Examples are Aurora or MySQL.
+ INSTANCE\$1TYPE - The type of Amazon EC2 instance. An example is `m4.xlarge`.
+ LEGAL\$1ENTITY\$1NAME - The name of the organization that sells you Amazon services, such as Amazon Web Services.
+ LINKED\$1ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the Amazon ID of the member account.
+ OPERATING\$1SYSTEM - The operating system. Examples are Windows or Linux.
+ OPERATION - The action performed. Examples include `RunInstance` and `CreateBucket`.
+ PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.
+ PURCHASE\$1TYPE - The reservation type of the purchase to which this usage is related. Examples include On-Demand Instances and Standard Reserved Instances.
+ SERVICE - The Amazon service such as Amazon DynamoDB.
+ USAGE\$1TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the `GetDimensionValues` operation includes a unit attribute. Examples include GB and Hrs.
+ USAGE\$1TYPE\$1GROUP - The grouping of common usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for this operation includes a unit attribute.
+ RECORD\$1TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.
+ RESOURCE\$1ID - The unique identifier of the resource. ResourceId is an opt-in feature only available for last 14 days for EC2-Compute Service. You can opt-in by enabling `Hourly` and `Resource Level Data` in Amazon Cost Management Console preferences.
If you set the context to `RESERVATIONS`, you can use the following dimensions for searching:  
+ AZ - The Availability Zone. An example is `us-east-1a`.
+ CACHE\$1ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.
+ DEPLOYMENT\$1OPTION - The scope of Amazon Relational Database Service deployments. Valid values are `SingleAZ` and `MultiAZ`.
+ INSTANCE\$1TYPE - The type of Amazon EC2 instance. An example is `m4.xlarge`.
+ LINKED\$1ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the Amazon ID of the member account.
+ PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.
+ REGION - The Amazon Web Services Region.
+ SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.
+ TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI).
+ TENANCY - The tenancy of a resource. Examples are shared or dedicated.
If you set the context to `SAVINGS_PLANS`, you can use the following dimensions for searching:  
+ SAVINGS\$1PLANS\$1TYPE - Type of Savings Plans (EC2 Instance or Compute)
+ PAYMENT\$1OPTION - Payment option for the given Savings Plans (for example, All Upfront)
+ REGION - The Amazon Region.
+ INSTANCE\$1TYPE\$1FAMILY - The family of instances (For example, `m5`)
+ LINKED\$1ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the Amazon ID of the member account.
+ SAVINGS\$1PLAN\$1ARN - The unique identifier for your Savings Plan
Type: Array of [DimensionValuesWithAttributes](API_DimensionValuesWithAttributes.md) objects

 ** [NextPageToken](#API_GetDimensionValues_ResponseSyntax) **   <a name="awscostmanagement-GetDimensionValues-response-NextPageToken"></a>
The token for the next set of retrievable results. Amazon provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [ReturnSize](#API_GetDimensionValues_ResponseSyntax) **   <a name="awscostmanagement-GetDimensionValues-response-ReturnSize"></a>
The number of results that Amazon returned at one time.  
Type: Integer

 ** [TotalSize](#API_GetDimensionValues_ResponseSyntax) **   <a name="awscostmanagement-GetDimensionValues-response-TotalSize"></a>
The total number of search results.  
Type: Integer

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** BillExpirationException **   
The requested report expired. Update the date interval and try again.  
HTTP Status Code: 400

 ** BillingViewHealthStatusException **   
 The billing view status must be `HEALTHY` to perform this action. Try again when the status is `HEALTHY`.   
HTTP Status Code: 400

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** RequestChangedException **   
Your request parameters changed between pages. Try again with the old parameters or without a pagination token.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

## Examples


### Example


The following is a sample request and response of the `GetDimensionValues` operation that enables you to search for all the member accounts in an organization in Amazon Organizations that have "Elastic" in their name.

#### Sample Request


```
POST / HTTP/1.1
Host: ce.us-east-1.amazonaws.com
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: AWSInsightsIndexService.GetDimensionValues
{
  "TimePeriod": {
    "Start": "2017-01-01",
    "End": "2017-05-18"
  },
  "SearchString": "Elastic",
  "Dimension": "Service"
}
```

#### Sample Response


```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
//Attributes are optional metadata that are returned depending on the dimension that you select.
{
  "DimensionValues": [
    {
      "Attributes": {},
      "Value": "Amazon ElastiCache"
    },
    {
      "Attributes": {},
      "Value": "EC2 - Other"
    },
    {
      "Attributes": {},
      "Value": "Amazon Elastic Compute Cloud - Compute"
    },
    {
      "Attributes": {},
      "Value": "Amazon Elasticsearch Service"
    }
  ],
  "ReturnSize": 4,
  "TotalSize": 4
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetDimensionValues) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetDimensionValues) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetDimensionValues) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetDimensionValues) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetDimensionValues) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetDimensionValues) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetDimensionValues) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetDimensionValues) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetDimensionValues) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetDimensionValues) 

# GetReservationCoverage


Retrieves the reservation coverage for your account, which you can use to see how much of your Amazon Elastic Compute Cloud, Amazon ElastiCache, Amazon Relational Database Service, or Amazon Redshift usage is covered by a reservation. An organization's management account can see the coverage of the associated member accounts. This supports dimensions, cost categories, and nested expressions. For any time period, you can filter data about reservation usage by the following dimensions:
+ AZ
+ CACHE\$1ENGINE
+ DATABASE\$1ENGINE
+ DEPLOYMENT\$1OPTION
+ INSTANCE\$1TYPE
+ LINKED\$1ACCOUNT
+ OPERATING\$1SYSTEM
+ PLATFORM
+ REGION
+ SERVICE
+ TAG
+ TENANCY

To determine valid values for a dimension, use the `GetDimensionValues` operation. 

## Request Syntax


```
{
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "Granularity": "string",
   "GroupBy": [ 
      { 
         "Key": "string",
         "Type": "string"
      }
   ],
   "MaxResults": number,
   "Metrics": [ "string" ],
   "NextPageToken": "string",
   "SortBy": { 
      "Key": "string",
      "SortOrder": "string"
   },
   "TimePeriod": { 
      "End": "string",
      "Start": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Filter](#API_GetReservationCoverage_RequestSyntax) **   <a name="awscostmanagement-GetReservationCoverage-request-Filter"></a>
Filters utilization data by dimensions. You can filter by the following dimensions:  
+ AZ
+ CACHE\$1ENGINE
+ DATABASE\$1ENGINE
+ DEPLOYMENT\$1OPTION
+ INSTANCE\$1TYPE
+ LINKED\$1ACCOUNT
+ OPERATING\$1SYSTEM
+ PLATFORM
+ REGION
+ SERVICE
+ TAG
+ TENANCY
 `GetReservationCoverage` uses the same [Expression](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_Expression.html) object as the other operations, but only `AND` is supported among each dimension. You can nest only one level deep. If there are multiple values for a dimension, they are OR'd together.  
If you don't provide a `SERVICE` filter, Cost Explorer defaults to EC2.  
Cost category is also supported.  
Type: [Expression](API_Expression.md) object  
Required: No

 ** [Granularity](#API_GetReservationCoverage_RequestSyntax) **   <a name="awscostmanagement-GetReservationCoverage-request-Granularity"></a>
The granularity of the Amazon cost data for the reservation. Valid values are `MONTHLY` and `DAILY`.  
If `GroupBy` is set, `Granularity` can't be set. If `Granularity` isn't set, the response object doesn't include `Granularity`, either `MONTHLY` or `DAILY`.  
The `GetReservationCoverage` operation supports only `DAILY` and `MONTHLY` granularities.  
Type: String  
Valid Values: `DAILY | MONTHLY | HOURLY`   
Required: No

 ** [GroupBy](#API_GetReservationCoverage_RequestSyntax) **   <a name="awscostmanagement-GetReservationCoverage-request-GroupBy"></a>
You can group the data by the following attributes:  
+ AZ
+ CACHE\$1ENGINE
+ DATABASE\$1ENGINE
+ DEPLOYMENT\$1OPTION
+ INSTANCE\$1TYPE
+ INVOICING\$1ENTITY
+ LINKED\$1ACCOUNT
+ OPERATING\$1SYSTEM
+ PLATFORM
+ REGION
+ TENANCY
Type: Array of [GroupDefinition](API_GroupDefinition.md) objects  
Required: No

 ** [MaxResults](#API_GetReservationCoverage_RequestSyntax) **   <a name="awscostmanagement-GetReservationCoverage-request-MaxResults"></a>
The maximum number of objects that you returned for this request. If more objects are available, in the response, Amazon provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.  
Type: Integer  
Valid Range: Minimum value of 1.  
Required: No

 ** [Metrics](#API_GetReservationCoverage_RequestSyntax) **   <a name="awscostmanagement-GetReservationCoverage-request-Metrics"></a>
The measurement that you want your reservation coverage reported in.  
Valid values are `Hour`, `Unit`, and `Cost`. You can use multiple values in a request.  
Type: Array of strings  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

 ** [NextPageToken](#API_GetReservationCoverage_RequestSyntax) **   <a name="awscostmanagement-GetReservationCoverage-request-NextPageToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [SortBy](#API_GetReservationCoverage_RequestSyntax) **   <a name="awscostmanagement-GetReservationCoverage-request-SortBy"></a>
The value by which you want to sort the data.  
The following values are supported for `Key`:  
+  `OnDemandCost` 
+  `CoverageHoursPercentage` 
+  `OnDemandHours` 
+  `ReservedHours` 
+  `TotalRunningHours` 
+  `CoverageNormalizedUnitsPercentage` 
+  `OnDemandNormalizedUnits` 
+  `ReservedNormalizedUnits` 
+  `TotalRunningNormalizedUnits` 
+  `Time` 
Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.  
Type: [SortDefinition](API_SortDefinition.md) object  
Required: No

 ** [TimePeriod](#API_GetReservationCoverage_RequestSyntax) **   <a name="awscostmanagement-GetReservationCoverage-request-TimePeriod"></a>
The start and end dates of the period that you want to retrieve data about reservation coverage for. You can retrieve data for a maximum of 13 months: the last 12 months and the current month. The start date is inclusive, but the end date is exclusive. For example, if `start` is `2017-01-01` and `end` is `2017-05-01`, then the cost and usage data is retrieved from `2017-01-01` up to and including `2017-04-30` but not including `2017-05-01`.   
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

## Response Syntax


```
{
   "CoveragesByTime": [ 
      { 
         "Groups": [ 
            { 
               "Attributes": { 
                  "string" : "string" 
               },
               "Coverage": { 
                  "CoverageCost": { 
                     "OnDemandCost": "string"
                  },
                  "CoverageHours": { 
                     "CoverageHoursPercentage": "string",
                     "OnDemandHours": "string",
                     "ReservedHours": "string",
                     "TotalRunningHours": "string"
                  },
                  "CoverageNormalizedUnits": { 
                     "CoverageNormalizedUnitsPercentage": "string",
                     "OnDemandNormalizedUnits": "string",
                     "ReservedNormalizedUnits": "string",
                     "TotalRunningNormalizedUnits": "string"
                  }
               }
            }
         ],
         "TimePeriod": { 
            "End": "string",
            "Start": "string"
         },
         "Total": { 
            "CoverageCost": { 
               "OnDemandCost": "string"
            },
            "CoverageHours": { 
               "CoverageHoursPercentage": "string",
               "OnDemandHours": "string",
               "ReservedHours": "string",
               "TotalRunningHours": "string"
            },
            "CoverageNormalizedUnits": { 
               "CoverageNormalizedUnitsPercentage": "string",
               "OnDemandNormalizedUnits": "string",
               "ReservedNormalizedUnits": "string",
               "TotalRunningNormalizedUnits": "string"
            }
         }
      }
   ],
   "NextPageToken": "string",
   "Total": { 
      "CoverageCost": { 
         "OnDemandCost": "string"
      },
      "CoverageHours": { 
         "CoverageHoursPercentage": "string",
         "OnDemandHours": "string",
         "ReservedHours": "string",
         "TotalRunningHours": "string"
      },
      "CoverageNormalizedUnits": { 
         "CoverageNormalizedUnitsPercentage": "string",
         "OnDemandNormalizedUnits": "string",
         "ReservedNormalizedUnits": "string",
         "TotalRunningNormalizedUnits": "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.

 ** [CoveragesByTime](#API_GetReservationCoverage_ResponseSyntax) **   <a name="awscostmanagement-GetReservationCoverage-response-CoveragesByTime"></a>
The amount of time that your reservations covered.  
Type: Array of [CoverageByTime](API_CoverageByTime.md) objects

 ** [NextPageToken](#API_GetReservationCoverage_ResponseSyntax) **   <a name="awscostmanagement-GetReservationCoverage-response-NextPageToken"></a>
The token for the next set of retrievable results. Amazon provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [Total](#API_GetReservationCoverage_ResponseSyntax) **   <a name="awscostmanagement-GetReservationCoverage-response-Total"></a>
The total amount of instance usage that a reservation covered.  
Type: [Coverage](API_Coverage.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## Examples


### Example


The following example request for the `GetReservationCoverage` operation retrieves reservation coverage for all `t2.nano` instance types from 2017-07-01 to 2017-10-01.

#### Sample Request


```
POST / HTTP/1.1
Host: ce.us-east-1.amazonaws.com
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: AWSInsightsIndexService.GetReservationCoverage
{
  "TimePeriod": {
    "Start":"2017-07-01",
    "End": "2017-10-01"
  },
  "Filter": {     
    "And": [ 
      {"Dimensions": {
        "Key": "INSTANCE_TYPE",
        "Values": [
          "t2.nano"
        ]
      },
      {"Dimensions": {
        "Key": "REGION",
        "Values": [
          "us-east-1"
        ]
      }}
    ]
  },
  "GroupBy":[
    {
      "Type":"Dimension",
      "Key":"REGION"
    }
  ]
}
```

#### Sample Response


```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  "CoveragesByTime": [{
    "Groups": [{
      "Attributes": {
        "region": "us-east-1"
      },
      "Coverage": {
        "CoverageHours": {
          "CoverageHoursPercentage": "40%",
          "OnDemandHours": "40",
          "ReservedHours": "40",
          "TotalRunningHours": "80"
        }
        "CoverageNormalizedUnits": {
          "CoverageNormalizedUnitsPercentage": "10",
          "OnDemandNormalizedUnits": "10",
          "ReservedNormalizedUnits": "10",
          "TotalRunningNormalizedUnits": "20"
        }
      }
    }],
    "TimePeriod": {
      "End": "2017-07-01",
      "Start": "2017-10-01"
    },
    "Total": {
      "CoverageHours": {
        "CoverageHoursPercentage": "40%",
        "OnDemandHours": "40",
        "ReservedHours": "40",
        "TotalRunningHours": "80"
      }
      "CoverageNormalizedUnits": {
        "CoverageNormalizedUnitsPercentage": "10",
        "OnDemandNormalizedUnits": "10",
        "ReservedNormalizedUnits": "10",
        "TotalRunningNormalizedUnits": "20"
      }
    }
  }],
  "Total": { 
    "CoverageHours": { 
      "CoverageHoursPercentage": "40%",
      "OnDemandHours": "40",
      "ReservedHours": "40",
      "TotalRunningHours": "80"
    }
  }
}
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetReservationCoverage) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetReservationCoverage) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetReservationCoverage) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetReservationCoverage) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetReservationCoverage) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetReservationCoverage) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetReservationCoverage) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetReservationCoverage) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetReservationCoverage) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetReservationCoverage) 

# GetReservationPurchaseRecommendation


Gets recommendations for reservation purchases. These recommendations might help you to reduce your costs. Reservations provide a discounted hourly rate (up to 75%) compared to On-Demand pricing.

 Amazon generates your recommendations by identifying your On-Demand usage during a specific time period and collecting your usage into categories that are eligible for a reservation. After Amazon has these categories, it simulates every combination of reservations in each category of usage to identify the best number of each type of Reserved Instance (RI) to purchase to maximize your estimated savings. 

For example, Amazon automatically aggregates your Amazon EC2 Linux, shared tenancy, and c4 family usage in the US West (Oregon) Region and recommends that you buy size-flexible regional reservations to apply to the c4 family usage. Amazon recommends the smallest size instance in an instance family. This makes it easier to purchase a size-flexible Reserved Instance (RI). Amazon also shows the equal number of normalized units. This way, you can purchase any instance size that you want. For this example, your RI recommendation is for `c4.large` because that is the smallest size instance in the c4 instance family.

## Request Syntax


```
{
   "AccountId": "string",
   "AccountScope": "string",
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "LookbackPeriodInDays": "string",
   "NextPageToken": "string",
   "PageSize": number,
   "PaymentOption": "string",
   "Service": "string",
   "ServiceSpecification": { 
      "EC2Specification": { 
         "OfferingClass": "string"
      }
   },
   "TermInYears": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_GetReservationPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetReservationPurchaseRecommendation-request-AccountId"></a>
The account ID that's associated with the recommendation.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

 ** [AccountScope](#API_GetReservationPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetReservationPurchaseRecommendation-request-AccountScope"></a>
The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to `PAYER`. If the value is `LINKED`, recommendations are calculated for individual member accounts only.  
Type: String  
Valid Values: `PAYER | LINKED`   
Required: No

 ** [Filter](#API_GetReservationPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetReservationPurchaseRecommendation-request-Filter"></a>
Use `Expression` to filter in various Cost Explorer APIs.  
Not all `Expression` types are supported in each API. Refer to the documentation for each specific API to see what is supported.  
There are two patterns:  
+ Simple dimension values.
  + There are three types of simple dimension values: `CostCategories`, `Tags`, and `Dimensions`.
    + Specify the `CostCategories` field to define a filter that acts on Cost Categories.
    + Specify the `Tags` field to define a filter that acts on Cost Allocation Tags.
    + Specify the `Dimensions` field to define a filter that acts on the [https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_DimensionValues.html](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_DimensionValues.html).
  + For each filter type, you can set the dimension name and values for the filters that you plan to use.
    + For example, you can filter for `REGION==us-east-1 OR REGION==us-west-1`. For `GetRightsizingRecommendation`, the Region is a full name (for example, `REGION==US East (N. Virginia)`.
    + The corresponding `Expression` for this example is as follows: `{ "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] } }` 
    + As shown in the previous example, lists of dimension values are combined with `OR` when applying the filter.
  + You can also set different match options to further control how the filter behaves. Not all APIs support match options. Refer to the documentation for each specific API to see what is supported.
    + For example, you can filter for linked account names that start with "a".
    + The corresponding `Expression` for this example is as follows: `{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME", "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] } }` 
+ Compound `Expression` types with logical operations.
  + You can use multiple `Expression` types and the logical operators `AND/OR/NOT` to create a list of one or more `Expression` objects. By doing this, you can filter by more advanced options.
  + For example, you can filter by `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)`.
  + The corresponding `Expression` for this example is as follows: `{ "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } ` 
**Note**  
Because each `Expression` can have only one operator, the service returns an error if more than one is specified. The following example shows an `Expression` object that creates an error: ` { "And": [ ... ], "Dimensions": { "Key": "USAGE_TYPE", "Values": [ "DataTransfer" ] } } `   
The following is an example of the corresponding error message: `"Expression has more than one roots. Only one root operator is allowed for each expression: And, Or, Not, Dimensions, Tags, CostCategories"` 
For the `GetRightsizingRecommendation` action, a combination of OR and NOT isn't supported. OR isn't supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or `RIGHTSIZING_TYPE`.  
For the `GetReservationPurchaseRecommendation` action, only NOT is supported. AND and OR aren't supported. Dimensions are limited to `LINKED_ACCOUNT`.
Type: [Expression](API_Expression.md) object  
Required: No

 ** [LookbackPeriodInDays](#API_GetReservationPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetReservationPurchaseRecommendation-request-LookbackPeriodInDays"></a>
The number of previous days that you want Amazon to consider when it calculates your recommendations.  
Type: String  
Valid Values: `SEVEN_DAYS | THIRTY_DAYS | SIXTY_DAYS`   
Required: No

 ** [NextPageToken](#API_GetReservationPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetReservationPurchaseRecommendation-request-NextPageToken"></a>
The pagination token that indicates the next set of results that you want to retrieve.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [PageSize](#API_GetReservationPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetReservationPurchaseRecommendation-request-PageSize"></a>
The number of recommendations that you want returned in a single response object.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 6000.  
Required: No

 ** [PaymentOption](#API_GetReservationPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetReservationPurchaseRecommendation-request-PaymentOption"></a>
The reservation purchase option that you want recommendations for.  
Type: String  
Valid Values: `NO_UPFRONT | PARTIAL_UPFRONT | ALL_UPFRONT | LIGHT_UTILIZATION | MEDIUM_UTILIZATION | HEAVY_UTILIZATION`   
Required: No

 ** [Service](#API_GetReservationPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetReservationPurchaseRecommendation-request-Service"></a>
The specific service that you want recommendations for.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: Yes

 ** [ServiceSpecification](#API_GetReservationPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetReservationPurchaseRecommendation-request-ServiceSpecification"></a>
The hardware specifications for the service instances that you want recommendations for, such as standard or convertible Amazon EC2 instances.  
Type: [ServiceSpecification](API_ServiceSpecification.md) object  
Required: No

 ** [TermInYears](#API_GetReservationPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetReservationPurchaseRecommendation-request-TermInYears"></a>
The reservation term that you want recommendations for.  
Type: String  
Valid Values: `ONE_YEAR | THREE_YEARS`   
Required: No

## Response Syntax


```
{
   "Metadata": { 
      "AdditionalMetadata": "string",
      "GenerationTimestamp": "string",
      "RecommendationId": "string"
   },
   "NextPageToken": "string",
   "Recommendations": [ 
      { 
         "AccountScope": "string",
         "LookbackPeriodInDays": "string",
         "PaymentOption": "string",
         "RecommendationDetails": [ 
            { 
               "AccountId": "string",
               "AverageNormalizedUnitsUsedPerHour": "string",
               "AverageNumberOfCapacityUnitsUsedPerHour": "string",
               "AverageNumberOfInstancesUsedPerHour": "string",
               "AverageUtilization": "string",
               "CurrencyCode": "string",
               "EstimatedBreakEvenInMonths": "string",
               "EstimatedMonthlyOnDemandCost": "string",
               "EstimatedMonthlySavingsAmount": "string",
               "EstimatedMonthlySavingsPercentage": "string",
               "EstimatedReservationCostForLookbackPeriod": "string",
               "InstanceDetails": { 
                  "EC2InstanceDetails": { 
                     "AvailabilityZone": "string",
                     "CurrentGeneration": boolean,
                     "Family": "string",
                     "InstanceType": "string",
                     "Platform": "string",
                     "Region": "string",
                     "SizeFlexEligible": boolean,
                     "Tenancy": "string"
                  },
                  "ElastiCacheInstanceDetails": { 
                     "CurrentGeneration": boolean,
                     "Family": "string",
                     "NodeType": "string",
                     "ProductDescription": "string",
                     "Region": "string",
                     "SizeFlexEligible": boolean
                  },
                  "ESInstanceDetails": { 
                     "CurrentGeneration": boolean,
                     "InstanceClass": "string",
                     "InstanceSize": "string",
                     "Region": "string",
                     "SizeFlexEligible": boolean
                  },
                  "MemoryDBInstanceDetails": { 
                     "CurrentGeneration": boolean,
                     "Family": "string",
                     "NodeType": "string",
                     "Region": "string",
                     "SizeFlexEligible": boolean
                  },
                  "RDSInstanceDetails": { 
                     "CurrentGeneration": boolean,
                     "DatabaseEdition": "string",
                     "DatabaseEngine": "string",
                     "DeploymentModel": "string",
                     "DeploymentOption": "string",
                     "Family": "string",
                     "InstanceType": "string",
                     "LicenseModel": "string",
                     "Region": "string",
                     "SizeFlexEligible": boolean
                  },
                  "RedshiftInstanceDetails": { 
                     "CurrentGeneration": boolean,
                     "Family": "string",
                     "NodeType": "string",
                     "Region": "string",
                     "SizeFlexEligible": boolean
                  }
               },
               "MaximumNormalizedUnitsUsedPerHour": "string",
               "MaximumNumberOfCapacityUnitsUsedPerHour": "string",
               "MaximumNumberOfInstancesUsedPerHour": "string",
               "MinimumNormalizedUnitsUsedPerHour": "string",
               "MinimumNumberOfCapacityUnitsUsedPerHour": "string",
               "MinimumNumberOfInstancesUsedPerHour": "string",
               "RecommendedNormalizedUnitsToPurchase": "string",
               "RecommendedNumberOfCapacityUnitsToPurchase": "string",
               "RecommendedNumberOfInstancesToPurchase": "string",
               "RecurringStandardMonthlyCost": "string",
               "ReservedCapacityDetails": { 
                  "DynamoDBCapacityDetails": { 
                     "CapacityUnits": "string",
                     "Region": "string"
                  }
               },
               "UpfrontCost": "string"
            }
         ],
         "RecommendationSummary": { 
            "CurrencyCode": "string",
            "TotalEstimatedMonthlySavingsAmount": "string",
            "TotalEstimatedMonthlySavingsPercentage": "string"
         },
         "ServiceSpecification": { 
            "EC2Specification": { 
               "OfferingClass": "string"
            }
         },
         "TermInYears": "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.

 ** [Metadata](#API_GetReservationPurchaseRecommendation_ResponseSyntax) **   <a name="awscostmanagement-GetReservationPurchaseRecommendation-response-Metadata"></a>
Information about this specific recommendation call, such as the time stamp for when Cost Explorer generated this recommendation.  
Type: [ReservationPurchaseRecommendationMetadata](API_ReservationPurchaseRecommendationMetadata.md) object

 ** [NextPageToken](#API_GetReservationPurchaseRecommendation_ResponseSyntax) **   <a name="awscostmanagement-GetReservationPurchaseRecommendation-response-NextPageToken"></a>
The pagination token for the next set of retrievable results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [Recommendations](#API_GetReservationPurchaseRecommendation_ResponseSyntax) **   <a name="awscostmanagement-GetReservationPurchaseRecommendation-response-Recommendations"></a>
Recommendations for reservations to purchase.  
Type: Array of [ReservationPurchaseRecommendation](API_ReservationPurchaseRecommendation.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetReservationPurchaseRecommendation) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetReservationPurchaseRecommendation) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetReservationPurchaseRecommendation) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetReservationPurchaseRecommendation) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetReservationPurchaseRecommendation) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetReservationPurchaseRecommendation) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetReservationPurchaseRecommendation) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetReservationPurchaseRecommendation) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetReservationPurchaseRecommendation) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetReservationPurchaseRecommendation) 

# GetReservationUtilization


Retrieves the reservation utilization for your account. Management account in an organization have access to member accounts. You can filter data by dimensions in a time period. You can use `GetDimensionValues` to determine the possible dimension values. Currently, you can group only by `SUBSCRIPTION_ID`. 

## Request Syntax


```
{
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "Granularity": "string",
   "GroupBy": [ 
      { 
         "Key": "string",
         "Type": "string"
      }
   ],
   "MaxResults": number,
   "NextPageToken": "string",
   "SortBy": { 
      "Key": "string",
      "SortOrder": "string"
   },
   "TimePeriod": { 
      "End": "string",
      "Start": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Filter](#API_GetReservationUtilization_RequestSyntax) **   <a name="awscostmanagement-GetReservationUtilization-request-Filter"></a>
Filters utilization data by dimensions. You can filter by the following dimensions:  
+ AZ
+ CACHE\$1ENGINE
+ DEPLOYMENT\$1OPTION
+ INSTANCE\$1TYPE
+ LINKED\$1ACCOUNT
+ OPERATING\$1SYSTEM
+ PLATFORM
+ REGION
+ SERVICE
**Note**  
If not specified, the `SERVICE` filter defaults to Amazon Elastic Compute Cloud - Compute. Supported values for `SERVICE` are Amazon Elastic Compute Cloud - Compute, Amazon Relational Database Service, Amazon ElastiCache, Amazon Redshift, and Amazon Elasticsearch Service. The value for the `SERVICE` filter should not exceed "1".
+ SCOPE
+ TENANCY
 `GetReservationUtilization` uses the same [Expression](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_Expression.html) object as the other operations, but only `AND` is supported among each dimension, and nesting is supported up to only one level deep. If there are multiple values for a dimension, they are OR'd together.  
Type: [Expression](API_Expression.md) object  
Required: No

 ** [Granularity](#API_GetReservationUtilization_RequestSyntax) **   <a name="awscostmanagement-GetReservationUtilization-request-Granularity"></a>
If `GroupBy` is set, `Granularity` can't be set. If `Granularity` isn't set, the response object doesn't include `Granularity`, either `MONTHLY` or `DAILY`. If both `GroupBy` and `Granularity` aren't set, `GetReservationUtilization` defaults to `DAILY`.  
The `GetReservationUtilization` operation supports only `DAILY` and `MONTHLY` granularities.  
Type: String  
Valid Values: `DAILY | MONTHLY | HOURLY`   
Required: No

 ** [GroupBy](#API_GetReservationUtilization_RequestSyntax) **   <a name="awscostmanagement-GetReservationUtilization-request-GroupBy"></a>
Groups only by `SUBSCRIPTION_ID`. Metadata is included.  
Type: Array of [GroupDefinition](API_GroupDefinition.md) objects  
Required: No

 ** [MaxResults](#API_GetReservationUtilization_RequestSyntax) **   <a name="awscostmanagement-GetReservationUtilization-request-MaxResults"></a>
The maximum number of objects that you returned for this request. If more objects are available, in the response, Amazon provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.  
Type: Integer  
Valid Range: Minimum value of 1.  
Required: No

 ** [NextPageToken](#API_GetReservationUtilization_RequestSyntax) **   <a name="awscostmanagement-GetReservationUtilization-request-NextPageToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [SortBy](#API_GetReservationUtilization_RequestSyntax) **   <a name="awscostmanagement-GetReservationUtilization-request-SortBy"></a>
The value that you want to sort the data by.  
The following values are supported for `Key`:  
+  `UtilizationPercentage` 
+  `UtilizationPercentageInUnits` 
+  `PurchasedHours` 
+  `PurchasedUnits` 
+  `TotalActualHours` 
+  `TotalActualUnits` 
+  `UnusedHours` 
+  `UnusedUnits` 
+  `OnDemandCostOfRIHoursUsed` 
+  `NetRISavings` 
+  `TotalPotentialRISavings` 
+  `AmortizedUpfrontFee` 
+  `AmortizedRecurringFee` 
+  `TotalAmortizedFee` 
+  `RICostForUnusedHours` 
+  `RealizedSavings` 
+  `UnrealizedSavings` 
The supported values for `SortOrder` are `ASCENDING` and `DESCENDING`.  
Type: [SortDefinition](API_SortDefinition.md) object  
Required: No

 ** [TimePeriod](#API_GetReservationUtilization_RequestSyntax) **   <a name="awscostmanagement-GetReservationUtilization-request-TimePeriod"></a>
Sets the start and end dates for retrieving Reserved Instance (RI) utilization. The start date is inclusive, but the end date is exclusive. For example, if `start` is `2017-01-01` and `end` is `2017-05-01`, then the cost and usage data is retrieved from `2017-01-01` up to and including `2017-04-30` but not including `2017-05-01`.   
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

## Response Syntax


```
{
   "NextPageToken": "string",
   "Total": { 
      "AmortizedRecurringFee": "string",
      "AmortizedUpfrontFee": "string",
      "NetRISavings": "string",
      "OnDemandCostOfRIHoursUsed": "string",
      "PurchasedHours": "string",
      "PurchasedUnits": "string",
      "RealizedSavings": "string",
      "RICostForUnusedHours": "string",
      "TotalActualHours": "string",
      "TotalActualUnits": "string",
      "TotalAmortizedFee": "string",
      "TotalPotentialRISavings": "string",
      "UnrealizedSavings": "string",
      "UnusedHours": "string",
      "UnusedUnits": "string",
      "UtilizationPercentage": "string",
      "UtilizationPercentageInUnits": "string"
   },
   "UtilizationsByTime": [ 
      { 
         "Groups": [ 
            { 
               "Attributes": { 
                  "string" : "string" 
               },
               "Key": "string",
               "Utilization": { 
                  "AmortizedRecurringFee": "string",
                  "AmortizedUpfrontFee": "string",
                  "NetRISavings": "string",
                  "OnDemandCostOfRIHoursUsed": "string",
                  "PurchasedHours": "string",
                  "PurchasedUnits": "string",
                  "RealizedSavings": "string",
                  "RICostForUnusedHours": "string",
                  "TotalActualHours": "string",
                  "TotalActualUnits": "string",
                  "TotalAmortizedFee": "string",
                  "TotalPotentialRISavings": "string",
                  "UnrealizedSavings": "string",
                  "UnusedHours": "string",
                  "UnusedUnits": "string",
                  "UtilizationPercentage": "string",
                  "UtilizationPercentageInUnits": "string"
               },
               "Value": "string"
            }
         ],
         "TimePeriod": { 
            "End": "string",
            "Start": "string"
         },
         "Total": { 
            "AmortizedRecurringFee": "string",
            "AmortizedUpfrontFee": "string",
            "NetRISavings": "string",
            "OnDemandCostOfRIHoursUsed": "string",
            "PurchasedHours": "string",
            "PurchasedUnits": "string",
            "RealizedSavings": "string",
            "RICostForUnusedHours": "string",
            "TotalActualHours": "string",
            "TotalActualUnits": "string",
            "TotalAmortizedFee": "string",
            "TotalPotentialRISavings": "string",
            "UnrealizedSavings": "string",
            "UnusedHours": "string",
            "UnusedUnits": "string",
            "UtilizationPercentage": "string",
            "UtilizationPercentageInUnits": "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.

 ** [NextPageToken](#API_GetReservationUtilization_ResponseSyntax) **   <a name="awscostmanagement-GetReservationUtilization-response-NextPageToken"></a>
The token for the next set of retrievable results. Amazon provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [Total](#API_GetReservationUtilization_ResponseSyntax) **   <a name="awscostmanagement-GetReservationUtilization-response-Total"></a>
The total amount of time that you used your Reserved Instances (RIs).  
Type: [ReservationAggregates](API_ReservationAggregates.md) object

 ** [UtilizationsByTime](#API_GetReservationUtilization_ResponseSyntax) **   <a name="awscostmanagement-GetReservationUtilization-response-UtilizationsByTime"></a>
The amount of time that you used your Reserved Instances (RIs).  
Type: Array of [UtilizationByTime](API_UtilizationByTime.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## Examples


### Example


The following is a sample request and response of the `GetReservationUtilization` operation that enables you to retrieve your RI utilization for all `t2.nano` instance types from 2017-01-01 to 2017-05-01.

#### Sample Request


```
POST / HTTP/1.1
Host: ce.us-east-1.amazonaws.com
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: AWSInsightsIndexService.GetReservationUtilization
{
  "TimePeriod": {
    "Start":"2017-07-01",
    "End": "2017-10-01"
  },
  "Filter": {      
    "Dimensions": {
      "Key": "INSTANCE_TYPE",
      "Values": [
        "t2.nano"
      ]
    }
  },
  "GroupBy":[
    {
      "Type":"Dimension",
      "Key":"SUBSCRIPTION_ID"
    }
  ]
}
```

#### Sample Response


```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  "UtilizationsByTime": [{
    "Groups": [{
      "Attributes": {
        "AccountId": "0123456789",
        "AccountName": null,
        "AvailabilityZone": "",
        "CancellationDateTime": "2019-09-28T15:22:31.000Z",
        "EndDateTime": "2019-09-28T15:22:31.000Z",
        "InstanceType": "t2.nano",
        "LeaseId": null,
        "NumberOfInstances": "1",
        "OfferingType": "convertible",
        "Platform": "Linux/UNIX",
        "Region": "us-east-1",
        "Scope": "Region",
        "StartDateTime": "2016-09-28T15:22:32.000Z",
        "SubscriptionId": "359809062",
        "SubscriptionStatus": "Active",
        "SubscriptionType": "All Upfront",
        "Tenancy": "Shared"
      },
      "Key": "SUBSCRIPTION_ID",
      "Utilization": {
        "PurchasedHours": 2208,
        "TotalActualHours": 2208,
        "UnusedHours": 0,
        "UtilizationPercentage": 100
      },
      "Value": "359809062"
    },
    {
      "Attributes": {
        "": "0123456789",
        "AccountName": null,
        "AvailabilityZone": "us-east-1d",
        "CancellationDateTime": "2017-09-28T15:22:31.000Z",
        "EndDateTime": "2017-09-28T15:22:31.000Z",
        "InstanceType": "t2.nano",
        "LeaseId": null,
        "NumberOfInstances": "1",
        "OfferingType": "Standard",
        "Platform": "Linux/UNIX",
        "Region": "us-east-1",
        "Scope": "Availability Zone",
        "StartDateTime": "2016-09-28T15:22:32.000Z",
        "SubscriptionId": "359809070",
        "SubscriptionStatus": "Active",
        "SubscriptionType": "All Upfront",
        "Tenancy": "Shared"
      },
      "Key": "SUBSCRIPTION_ID",
      "Utilization": {
        "PurchasedHours": 2151,
        "TotalActualHours": 2151,
        "UnusedHours": 0,
        "UtilizationPercentage": 100
      },
      "Value": "359809070"
    },
    {
      "Attributes": {
        "AccountId": "0123456789",
        "AccountName": null,
        "AvailabilityZone": "us-west-2a",
        "CancellationDateTime": "2017-09-20T04:06:02.000Z",
        "EndDateTime": "2017-09-20T04:06:02.000Z",
        "InstanceType": "t2.nano",
        "LeaseId": null,
        "NumberOfInstances": "1",
        "OfferingType": "Standard",
        "Platform": "Linux/UNIX",
        "Region": "us-west-2",
        "Scope": "Availability Zone",
        "StartDateTime": "2016-09-20T04:06:03.000Z",
        "SubscriptionId": "353571154",
        "SubscriptionStatus": "Active",
        "SubscriptionType": "Partial Upfront",
        "Tenancy": "Shared"
      },
      "Key": "SUBSCRIPTION_ID",
      "Utilization": {
        "PurchasedHours": 1948,
        "TotalActualHours": 0,
        "UnusedHours": 1948,
        "UtilizationPercentage": 0
      },
      "Value": "353571154"
    }
  ],
  "TimePeriod": {
    "End": "2017-10-01",
    "Start": "2017-07-01"
  },
  "Total": {
    "PurchasedHours": 6307,
    "TotalActualHours": 4359,
    "UnusedHours": 1948,
    "UtilizationPercentage": 69.11368320913270968764864436340574
  }
  }]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetReservationUtilization) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetReservationUtilization) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetReservationUtilization) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetReservationUtilization) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetReservationUtilization) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetReservationUtilization) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetReservationUtilization) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetReservationUtilization) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetReservationUtilization) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetReservationUtilization) 

# GetRightsizingRecommendation


Creates recommendations that help you save cost by identifying idle and underutilized Amazon EC2 instances.

Recommendations are generated to either downsize or terminate instances, along with providing savings detail and metrics. For more information about calculation and function, see [Optimizing Your Cost with Rightsizing Recommendations](https://docs.amazonaws.cn/awsaccountbilling/latest/aboutv2/ce-rightsizing.html) in the * Amazon Billing and Cost Management User Guide*.

## Request Syntax


```
{
   "Configuration": { 
      "BenefitsConsidered": boolean,
      "RecommendationTarget": "string"
   },
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "NextPageToken": "string",
   "PageSize": number,
   "Service": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Configuration](#API_GetRightsizingRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetRightsizingRecommendation-request-Configuration"></a>
You can use Configuration to customize recommendations across two attributes. You can choose to view recommendations for instances within the same instance families or across different instance families. You can also choose to view your estimated savings that are associated with recommendations with consideration of existing Savings Plans or RI benefits, or neither.   
Type: [RightsizingRecommendationConfiguration](API_RightsizingRecommendationConfiguration.md) object  
Required: No

 ** [Filter](#API_GetRightsizingRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetRightsizingRecommendation-request-Filter"></a>
Use `Expression` to filter in various Cost Explorer APIs.  
Not all `Expression` types are supported in each API. Refer to the documentation for each specific API to see what is supported.  
There are two patterns:  
+ Simple dimension values.
  + There are three types of simple dimension values: `CostCategories`, `Tags`, and `Dimensions`.
    + Specify the `CostCategories` field to define a filter that acts on Cost Categories.
    + Specify the `Tags` field to define a filter that acts on Cost Allocation Tags.
    + Specify the `Dimensions` field to define a filter that acts on the [https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_DimensionValues.html](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_DimensionValues.html).
  + For each filter type, you can set the dimension name and values for the filters that you plan to use.
    + For example, you can filter for `REGION==us-east-1 OR REGION==us-west-1`. For `GetRightsizingRecommendation`, the Region is a full name (for example, `REGION==US East (N. Virginia)`.
    + The corresponding `Expression` for this example is as follows: `{ "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] } }` 
    + As shown in the previous example, lists of dimension values are combined with `OR` when applying the filter.
  + You can also set different match options to further control how the filter behaves. Not all APIs support match options. Refer to the documentation for each specific API to see what is supported.
    + For example, you can filter for linked account names that start with "a".
    + The corresponding `Expression` for this example is as follows: `{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME", "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] } }` 
+ Compound `Expression` types with logical operations.
  + You can use multiple `Expression` types and the logical operators `AND/OR/NOT` to create a list of one or more `Expression` objects. By doing this, you can filter by more advanced options.
  + For example, you can filter by `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)`.
  + The corresponding `Expression` for this example is as follows: `{ "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } ` 
**Note**  
Because each `Expression` can have only one operator, the service returns an error if more than one is specified. The following example shows an `Expression` object that creates an error: ` { "And": [ ... ], "Dimensions": { "Key": "USAGE_TYPE", "Values": [ "DataTransfer" ] } } `   
The following is an example of the corresponding error message: `"Expression has more than one roots. Only one root operator is allowed for each expression: And, Or, Not, Dimensions, Tags, CostCategories"` 
For the `GetRightsizingRecommendation` action, a combination of OR and NOT isn't supported. OR isn't supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or `RIGHTSIZING_TYPE`.  
For the `GetReservationPurchaseRecommendation` action, only NOT is supported. AND and OR aren't supported. Dimensions are limited to `LINKED_ACCOUNT`.
Type: [Expression](API_Expression.md) object  
Required: No

 ** [NextPageToken](#API_GetRightsizingRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetRightsizingRecommendation-request-NextPageToken"></a>
The pagination token that indicates the next set of results that you want to retrieve.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [PageSize](#API_GetRightsizingRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetRightsizingRecommendation-request-PageSize"></a>
The number of recommendations that you want returned in a single response object.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 6000.  
Required: No

 ** [Service](#API_GetRightsizingRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetRightsizingRecommendation-request-Service"></a>
The specific service that you want recommendations for. The only valid value for `GetRightsizingRecommendation` is "`AmazonEC2`".  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: Yes

## Response Syntax


```
{
   "Configuration": { 
      "BenefitsConsidered": boolean,
      "RecommendationTarget": "string"
   },
   "Metadata": { 
      "AdditionalMetadata": "string",
      "GenerationTimestamp": "string",
      "LookbackPeriodInDays": "string",
      "RecommendationId": "string"
   },
   "NextPageToken": "string",
   "RightsizingRecommendations": [ 
      { 
         "AccountId": "string",
         "CurrentInstance": { 
            "CurrencyCode": "string",
            "InstanceName": "string",
            "MonthlyCost": "string",
            "OnDemandHoursInLookbackPeriod": "string",
            "ReservationCoveredHoursInLookbackPeriod": "string",
            "ResourceDetails": { 
               "EC2ResourceDetails": { 
                  "HourlyOnDemandRate": "string",
                  "InstanceType": "string",
                  "Memory": "string",
                  "NetworkPerformance": "string",
                  "Platform": "string",
                  "Region": "string",
                  "Sku": "string",
                  "Storage": "string",
                  "Vcpu": "string"
               }
            },
            "ResourceId": "string",
            "ResourceUtilization": { 
               "EC2ResourceUtilization": { 
                  "DiskResourceUtilization": { 
                     "DiskReadBytesPerSecond": "string",
                     "DiskReadOpsPerSecond": "string",
                     "DiskWriteBytesPerSecond": "string",
                     "DiskWriteOpsPerSecond": "string"
                  },
                  "EBSResourceUtilization": { 
                     "EbsReadBytesPerSecond": "string",
                     "EbsReadOpsPerSecond": "string",
                     "EbsWriteBytesPerSecond": "string",
                     "EbsWriteOpsPerSecond": "string"
                  },
                  "MaxCpuUtilizationPercentage": "string",
                  "MaxMemoryUtilizationPercentage": "string",
                  "MaxStorageUtilizationPercentage": "string",
                  "NetworkResourceUtilization": { 
                     "NetworkInBytesPerSecond": "string",
                     "NetworkOutBytesPerSecond": "string",
                     "NetworkPacketsInPerSecond": "string",
                     "NetworkPacketsOutPerSecond": "string"
                  }
               }
            },
            "SavingsPlansCoveredHoursInLookbackPeriod": "string",
            "Tags": [ 
               { 
                  "Key": "string",
                  "MatchOptions": [ "string" ],
                  "Values": [ "string" ]
               }
            ],
            "TotalRunningHoursInLookbackPeriod": "string"
         },
         "FindingReasonCodes": [ "string" ],
         "ModifyRecommendationDetail": { 
            "TargetInstances": [ 
               { 
                  "CurrencyCode": "string",
                  "DefaultTargetInstance": boolean,
                  "EstimatedMonthlyCost": "string",
                  "EstimatedMonthlySavings": "string",
                  "ExpectedResourceUtilization": { 
                     "EC2ResourceUtilization": { 
                        "DiskResourceUtilization": { 
                           "DiskReadBytesPerSecond": "string",
                           "DiskReadOpsPerSecond": "string",
                           "DiskWriteBytesPerSecond": "string",
                           "DiskWriteOpsPerSecond": "string"
                        },
                        "EBSResourceUtilization": { 
                           "EbsReadBytesPerSecond": "string",
                           "EbsReadOpsPerSecond": "string",
                           "EbsWriteBytesPerSecond": "string",
                           "EbsWriteOpsPerSecond": "string"
                        },
                        "MaxCpuUtilizationPercentage": "string",
                        "MaxMemoryUtilizationPercentage": "string",
                        "MaxStorageUtilizationPercentage": "string",
                        "NetworkResourceUtilization": { 
                           "NetworkInBytesPerSecond": "string",
                           "NetworkOutBytesPerSecond": "string",
                           "NetworkPacketsInPerSecond": "string",
                           "NetworkPacketsOutPerSecond": "string"
                        }
                     }
                  },
                  "PlatformDifferences": [ "string" ],
                  "ResourceDetails": { 
                     "EC2ResourceDetails": { 
                        "HourlyOnDemandRate": "string",
                        "InstanceType": "string",
                        "Memory": "string",
                        "NetworkPerformance": "string",
                        "Platform": "string",
                        "Region": "string",
                        "Sku": "string",
                        "Storage": "string",
                        "Vcpu": "string"
                     }
                  }
               }
            ]
         },
         "RightsizingType": "string",
         "TerminateRecommendationDetail": { 
            "CurrencyCode": "string",
            "EstimatedMonthlySavings": "string"
         }
      }
   ],
   "Summary": { 
      "EstimatedTotalMonthlySavingsAmount": "string",
      "SavingsCurrencyCode": "string",
      "SavingsPercentage": "string",
      "TotalRecommendationCount": "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.

 ** [Configuration](#API_GetRightsizingRecommendation_ResponseSyntax) **   <a name="awscostmanagement-GetRightsizingRecommendation-response-Configuration"></a>
You can use Configuration to customize recommendations across two attributes. You can choose to view recommendations for instances within the same instance families or across different instance families. You can also choose to view your estimated savings that are associated with recommendations with consideration of existing Savings Plans or RI benefits, or neither.   
Type: [RightsizingRecommendationConfiguration](API_RightsizingRecommendationConfiguration.md) object

 ** [Metadata](#API_GetRightsizingRecommendation_ResponseSyntax) **   <a name="awscostmanagement-GetRightsizingRecommendation-response-Metadata"></a>
Information regarding this specific recommendation set.  
Type: [RightsizingRecommendationMetadata](API_RightsizingRecommendationMetadata.md) object

 ** [NextPageToken](#API_GetRightsizingRecommendation_ResponseSyntax) **   <a name="awscostmanagement-GetRightsizingRecommendation-response-NextPageToken"></a>
The token to retrieve the next set of results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [RightsizingRecommendations](#API_GetRightsizingRecommendation_ResponseSyntax) **   <a name="awscostmanagement-GetRightsizingRecommendation-response-RightsizingRecommendations"></a>
Recommendations to rightsize resources.  
Type: Array of [RightsizingRecommendation](API_RightsizingRecommendation.md) objects

 ** [Summary](#API_GetRightsizingRecommendation_ResponseSyntax) **   <a name="awscostmanagement-GetRightsizingRecommendation-response-Summary"></a>
Summary of this recommendation set.  
Type: [RightsizingRecommendationSummary](API_RightsizingRecommendationSummary.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetRightsizingRecommendation) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetRightsizingRecommendation) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetRightsizingRecommendation) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetRightsizingRecommendation) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetRightsizingRecommendation) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetRightsizingRecommendation) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetRightsizingRecommendation) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetRightsizingRecommendation) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetRightsizingRecommendation) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetRightsizingRecommendation) 

# GetSavingsPlanPurchaseRecommendationDetails


Retrieves the details for a Savings Plan recommendation. These details include the hourly data-points that construct the cost, coverage, and utilization charts.

## Request Syntax


```
{
   "RecommendationDetailId": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [RecommendationDetailId](#API_GetSavingsPlanPurchaseRecommendationDetails_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlanPurchaseRecommendationDetails-request-RecommendationDetailId"></a>
The ID that is associated with the Savings Plan recommendation.  
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `^[\S\s]{8}-[\S\s]{4}-[\S\s]{4}-[\S\s]{4}-[\S\s]{12}$`   
Required: Yes

## Response Syntax


```
{
   "RecommendationDetailData": { 
      "AccountId": "string",
      "AccountScope": "string",
      "CurrencyCode": "string",
      "CurrentAverageCoverage": "string",
      "CurrentAverageHourlyOnDemandSpend": "string",
      "CurrentMaximumHourlyOnDemandSpend": "string",
      "CurrentMinimumHourlyOnDemandSpend": "string",
      "EstimatedAverageCoverage": "string",
      "EstimatedAverageUtilization": "string",
      "EstimatedMonthlySavingsAmount": "string",
      "EstimatedOnDemandCost": "string",
      "EstimatedOnDemandCostWithCurrentCommitment": "string",
      "EstimatedROI": "string",
      "EstimatedSavingsAmount": "string",
      "EstimatedSavingsPercentage": "string",
      "EstimatedSPCost": "string",
      "ExistingHourlyCommitment": "string",
      "GenerationTimestamp": "string",
      "HourlyCommitmentToPurchase": "string",
      "InstanceFamily": "string",
      "LatestUsageTimestamp": "string",
      "LookbackPeriodInDays": "string",
      "MetricsOverLookbackPeriod": [ 
         { 
            "CurrentCoverage": "string",
            "EstimatedCoverage": "string",
            "EstimatedNewCommitmentUtilization": "string",
            "EstimatedOnDemandCost": "string",
            "StartTime": "string"
         }
      ],
      "OfferingId": "string",
      "PaymentOption": "string",
      "Region": "string",
      "SavingsPlansType": "string",
      "TermInYears": "string",
      "UpfrontCost": "string"
   },
   "RecommendationDetailId": "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.

 ** [RecommendationDetailData](#API_GetSavingsPlanPurchaseRecommendationDetails_ResponseSyntax) **   <a name="awscostmanagement-GetSavingsPlanPurchaseRecommendationDetails-response-RecommendationDetailData"></a>
Contains detailed information about a specific Savings Plan recommendation.  
Type: [RecommendationDetailData](API_RecommendationDetailData.md) object

 ** [RecommendationDetailId](#API_GetSavingsPlanPurchaseRecommendationDetails_ResponseSyntax) **   <a name="awscostmanagement-GetSavingsPlanPurchaseRecommendationDetails-response-RecommendationDetailId"></a>
The ID that is associated with the Savings Plan recommendation.  
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `^[\S\s]{8}-[\S\s]{4}-[\S\s]{4}-[\S\s]{4}-[\S\s]{12}$` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetSavingsPlanPurchaseRecommendationDetails) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetSavingsPlanPurchaseRecommendationDetails) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetSavingsPlanPurchaseRecommendationDetails) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetSavingsPlanPurchaseRecommendationDetails) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetSavingsPlanPurchaseRecommendationDetails) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetSavingsPlanPurchaseRecommendationDetails) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetSavingsPlanPurchaseRecommendationDetails) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetSavingsPlanPurchaseRecommendationDetails) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetSavingsPlanPurchaseRecommendationDetails) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetSavingsPlanPurchaseRecommendationDetails) 

# GetSavingsPlansCoverage


Retrieves the Savings Plans covered for your account. This enables you to see how much of your cost is covered by a Savings Plan. An organization’s management account can see the coverage of the associated member accounts. This supports dimensions, cost categories, and nested expressions. For any time period, you can filter data for Savings Plans usage with the following dimensions:
+  `LINKED_ACCOUNT` 
+  `REGION` 
+  `SERVICE` 
+  `INSTANCE_FAMILY` 

To determine valid values for a dimension, use the `GetDimensionValues` operation.

## Request Syntax


```
{
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "Granularity": "string",
   "GroupBy": [ 
      { 
         "Key": "string",
         "Type": "string"
      }
   ],
   "MaxResults": number,
   "Metrics": [ "string" ],
   "NextToken": "string",
   "SortBy": { 
      "Key": "string",
      "SortOrder": "string"
   },
   "TimePeriod": { 
      "End": "string",
      "Start": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Filter](#API_GetSavingsPlansCoverage_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansCoverage-request-Filter"></a>
Filters Savings Plans coverage data by dimensions. You can filter data for Savings Plans usage with the following dimensions:  
+  `LINKED_ACCOUNT` 
+  `REGION` 
+  `SERVICE` 
+  `INSTANCE_FAMILY` 
 `GetSavingsPlansCoverage` uses the same [Expression](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_Expression.html) object as the other operations, but only `AND` is supported among each dimension. If there are multiple values for a dimension, they are OR'd together.  
Cost category is also supported.  
Type: [Expression](API_Expression.md) object  
Required: No

 ** [Granularity](#API_GetSavingsPlansCoverage_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansCoverage-request-Granularity"></a>
The granularity of the Amazon Web Services cost data for your Savings Plans. `Granularity` can't be set if `GroupBy` is set.  
The `GetSavingsPlansCoverage` operation supports only `DAILY` and `MONTHLY` granularities.  
Type: String  
Valid Values: `DAILY | MONTHLY | HOURLY`   
Required: No

 ** [GroupBy](#API_GetSavingsPlansCoverage_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansCoverage-request-GroupBy"></a>
You can group the data using the attributes `INSTANCE_FAMILY`, `REGION`, or `SERVICE`.  
Type: Array of [GroupDefinition](API_GroupDefinition.md) objects  
Required: No

 ** [MaxResults](#API_GetSavingsPlansCoverage_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansCoverage-request-MaxResults"></a>
The number of items to be returned in a response. The default is `20`, with a minimum value of `1`.  
Type: Integer  
Valid Range: Minimum value of 1.  
Required: No

 ** [Metrics](#API_GetSavingsPlansCoverage_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansCoverage-request-Metrics"></a>
The measurement that you want your Savings Plans coverage reported in. The only valid value is `SpendCoveredBySavingsPlans`.  
Type: Array of strings  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

 ** [NextToken](#API_GetSavingsPlansCoverage_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansCoverage-request-NextToken"></a>
The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [SortBy](#API_GetSavingsPlansCoverage_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansCoverage-request-SortBy"></a>
The value that you want to sort the data by.  
The following values are supported for `Key`:  
+  `SpendCoveredBySavingsPlan` 
+  `OnDemandCost` 
+  `CoveragePercentage` 
+  `TotalCost` 
+  `InstanceFamily` 
+  `Region` 
+  `Service` 
The supported values for `SortOrder` are `ASCENDING` and `DESCENDING`.  
Type: [SortDefinition](API_SortDefinition.md) object  
Required: No

 ** [TimePeriod](#API_GetSavingsPlansCoverage_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansCoverage-request-TimePeriod"></a>
The time period that you want the usage and costs for. The `Start` date must be within 13 months. The `End` date must be after the `Start` date, and before the current date. Future dates can't be used as an `End` date.  
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

## Response Syntax


```
{
   "NextToken": "string",
   "SavingsPlansCoverages": [ 
      { 
         "Attributes": { 
            "string" : "string" 
         },
         "Coverage": { 
            "CoveragePercentage": "string",
            "OnDemandCost": "string",
            "SpendCoveredBySavingsPlans": "string",
            "TotalCost": "string"
         },
         "TimePeriod": { 
            "End": "string",
            "Start": "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.

 ** [NextToken](#API_GetSavingsPlansCoverage_ResponseSyntax) **   <a name="awscostmanagement-GetSavingsPlansCoverage-response-NextToken"></a>
The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [SavingsPlansCoverages](#API_GetSavingsPlansCoverage_ResponseSyntax) **   <a name="awscostmanagement-GetSavingsPlansCoverage-response-SavingsPlansCoverages"></a>
The amount of spend that your Savings Plans covered.  
Type: Array of [SavingsPlansCoverage](API_SavingsPlansCoverage.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetSavingsPlansCoverage) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetSavingsPlansCoverage) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetSavingsPlansCoverage) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetSavingsPlansCoverage) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetSavingsPlansCoverage) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetSavingsPlansCoverage) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetSavingsPlansCoverage) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetSavingsPlansCoverage) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetSavingsPlansCoverage) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetSavingsPlansCoverage) 

# GetSavingsPlansPurchaseRecommendation


Retrieves the Savings Plans recommendations for your account. First use `StartSavingsPlansPurchaseRecommendationGeneration` to generate a new set of recommendations, and then use `GetSavingsPlansPurchaseRecommendation` to retrieve them.

## Request Syntax


```
{
   "AccountScope": "string",
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "LookbackPeriodInDays": "string",
   "NextPageToken": "string",
   "PageSize": number,
   "PaymentOption": "string",
   "SavingsPlansType": "string",
   "TermInYears": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountScope](#API_GetSavingsPlansPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansPurchaseRecommendation-request-AccountScope"></a>
The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the management account and member accounts if the value is set to `PAYER`. If the value is `LINKED`, recommendations are calculated for individual member accounts only.  
Type: String  
Valid Values: `PAYER | LINKED`   
Required: No

 ** [Filter](#API_GetSavingsPlansPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansPurchaseRecommendation-request-Filter"></a>
You can filter your recommendations by Account ID with the `LINKED_ACCOUNT` dimension. To filter your recommendations by Account ID, specify `Key` as `LINKED_ACCOUNT` and `Value` as the comma-separated Acount ID(s) that you want to see Savings Plans purchase recommendations for.  
For GetSavingsPlansPurchaseRecommendation, the `Filter` doesn't include `CostCategories` or `Tags`. It only includes `Dimensions`. With `Dimensions`, `Key` must be `LINKED_ACCOUNT` and `Value` can be a single Account ID or multiple comma-separated Account IDs that you want to see Savings Plans Purchase Recommendations for. `AND` and `OR` operators are not supported.  
Type: [Expression](API_Expression.md) object  
Required: No

 ** [LookbackPeriodInDays](#API_GetSavingsPlansPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansPurchaseRecommendation-request-LookbackPeriodInDays"></a>
The lookback period that's used to generate the recommendation.  
Type: String  
Valid Values: `SEVEN_DAYS | THIRTY_DAYS | SIXTY_DAYS`   
Required: Yes

 ** [NextPageToken](#API_GetSavingsPlansPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansPurchaseRecommendation-request-NextPageToken"></a>
The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [PageSize](#API_GetSavingsPlansPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansPurchaseRecommendation-request-PageSize"></a>
The number of recommendations that you want returned in a single response object.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 6000.  
Required: No

 ** [PaymentOption](#API_GetSavingsPlansPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansPurchaseRecommendation-request-PaymentOption"></a>
The payment option that's used to generate these recommendations.  
Type: String  
Valid Values: `NO_UPFRONT | PARTIAL_UPFRONT | ALL_UPFRONT | LIGHT_UTILIZATION | MEDIUM_UTILIZATION | HEAVY_UTILIZATION`   
Required: Yes

 ** [SavingsPlansType](#API_GetSavingsPlansPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansPurchaseRecommendation-request-SavingsPlansType"></a>
The Savings Plans recommendation type that's requested.  
Type: String  
Valid Values: `COMPUTE_SP | EC2_INSTANCE_SP | SAGEMAKER_SP | DATABASE_SP`   
Required: Yes

 ** [TermInYears](#API_GetSavingsPlansPurchaseRecommendation_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansPurchaseRecommendation-request-TermInYears"></a>
The savings plan recommendation term that's used to generate these recommendations.  
Type: String  
Valid Values: `ONE_YEAR | THREE_YEARS`   
Required: Yes

## Response Syntax


```
{
   "Metadata": { 
      "AdditionalMetadata": "string",
      "GenerationTimestamp": "string",
      "RecommendationId": "string"
   },
   "NextPageToken": "string",
   "SavingsPlansPurchaseRecommendation": { 
      "AccountScope": "string",
      "LookbackPeriodInDays": "string",
      "PaymentOption": "string",
      "SavingsPlansPurchaseRecommendationDetails": [ 
         { 
            "AccountId": "string",
            "CurrencyCode": "string",
            "CurrentAverageHourlyOnDemandSpend": "string",
            "CurrentMaximumHourlyOnDemandSpend": "string",
            "CurrentMinimumHourlyOnDemandSpend": "string",
            "EstimatedAverageUtilization": "string",
            "EstimatedMonthlySavingsAmount": "string",
            "EstimatedOnDemandCost": "string",
            "EstimatedOnDemandCostWithCurrentCommitment": "string",
            "EstimatedROI": "string",
            "EstimatedSavingsAmount": "string",
            "EstimatedSavingsPercentage": "string",
            "EstimatedSPCost": "string",
            "HourlyCommitmentToPurchase": "string",
            "RecommendationDetailId": "string",
            "SavingsPlansDetails": { 
               "InstanceFamily": "string",
               "OfferingId": "string",
               "Region": "string"
            },
            "UpfrontCost": "string"
         }
      ],
      "SavingsPlansPurchaseRecommendationSummary": { 
         "CurrencyCode": "string",
         "CurrentOnDemandSpend": "string",
         "DailyCommitmentToPurchase": "string",
         "EstimatedMonthlySavingsAmount": "string",
         "EstimatedOnDemandCostWithCurrentCommitment": "string",
         "EstimatedROI": "string",
         "EstimatedSavingsAmount": "string",
         "EstimatedSavingsPercentage": "string",
         "EstimatedTotalCost": "string",
         "HourlyCommitmentToPurchase": "string",
         "TotalRecommendationCount": "string"
      },
      "SavingsPlansType": "string",
      "TermInYears": "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.

 ** [Metadata](#API_GetSavingsPlansPurchaseRecommendation_ResponseSyntax) **   <a name="awscostmanagement-GetSavingsPlansPurchaseRecommendation-response-Metadata"></a>
Information that regards this specific recommendation set.  
Type: [SavingsPlansPurchaseRecommendationMetadata](API_SavingsPlansPurchaseRecommendationMetadata.md) object

 ** [NextPageToken](#API_GetSavingsPlansPurchaseRecommendation_ResponseSyntax) **   <a name="awscostmanagement-GetSavingsPlansPurchaseRecommendation-response-NextPageToken"></a>
The token for the next set of retrievable results. Amazon provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [SavingsPlansPurchaseRecommendation](#API_GetSavingsPlansPurchaseRecommendation_ResponseSyntax) **   <a name="awscostmanagement-GetSavingsPlansPurchaseRecommendation-response-SavingsPlansPurchaseRecommendation"></a>
Contains your request parameters, Savings Plan Recommendations Summary, and Details.  
Type: [SavingsPlansPurchaseRecommendation](API_SavingsPlansPurchaseRecommendation.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation) 

# GetSavingsPlansUtilization


Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Management account in an organization have access to member accounts. You can use `GetDimensionValues` in `SAVINGS_PLANS` to determine the possible dimension values.

**Note**  
You can't group by any dimension values for `GetSavingsPlansUtilization`.

## Request Syntax


```
{
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "Granularity": "string",
   "SortBy": { 
      "Key": "string",
      "SortOrder": "string"
   },
   "TimePeriod": { 
      "End": "string",
      "Start": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Filter](#API_GetSavingsPlansUtilization_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilization-request-Filter"></a>
Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions:  
+  `LINKED_ACCOUNT` 
+  `SAVINGS_PLAN_ARN` 
+  `SAVINGS_PLANS_TYPE` 
+  `REGION` 
+  `PAYMENT_OPTION` 
+  `INSTANCE_TYPE_FAMILY` 
 `GetSavingsPlansUtilization` uses the same [Expression](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_Expression.html) object as the other operations, but only `AND` is supported among each dimension.  
Type: [Expression](API_Expression.md) object  
Required: No

 ** [Granularity](#API_GetSavingsPlansUtilization_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilization-request-Granularity"></a>
The granularity of the Amazon Web Services utillization data for your Savings Plans.  
The `GetSavingsPlansUtilization` operation supports only `DAILY` and `MONTHLY` granularities.  
Type: String  
Valid Values: `DAILY | MONTHLY | HOURLY`   
Required: No

 ** [SortBy](#API_GetSavingsPlansUtilization_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilization-request-SortBy"></a>
The value that you want to sort the data by.  
The following values are supported for `Key`:  
+  `UtilizationPercentage` 
+  `TotalCommitment` 
+  `UsedCommitment` 
+  `UnusedCommitment` 
+  `NetSavings` 
The supported values for `SortOrder` are `ASCENDING` and `DESCENDING`.  
Type: [SortDefinition](API_SortDefinition.md) object  
Required: No

 ** [TimePeriod](#API_GetSavingsPlansUtilization_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilization-request-TimePeriod"></a>
The time period that you want the usage and costs for. The `Start` date must be within 13 months. The `End` date must be after the `Start` date, and before the current date. Future dates can't be used as an `End` date.  
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

## Response Syntax


```
{
   "SavingsPlansUtilizationsByTime": [ 
      { 
         "AmortizedCommitment": { 
            "AmortizedRecurringCommitment": "string",
            "AmortizedUpfrontCommitment": "string",
            "TotalAmortizedCommitment": "string"
         },
         "Savings": { 
            "NetSavings": "string",
            "OnDemandCostEquivalent": "string"
         },
         "TimePeriod": { 
            "End": "string",
            "Start": "string"
         },
         "Utilization": { 
            "TotalCommitment": "string",
            "UnusedCommitment": "string",
            "UsedCommitment": "string",
            "UtilizationPercentage": "string"
         }
      }
   ],
   "Total": { 
      "AmortizedCommitment": { 
         "AmortizedRecurringCommitment": "string",
         "AmortizedUpfrontCommitment": "string",
         "TotalAmortizedCommitment": "string"
      },
      "Savings": { 
         "NetSavings": "string",
         "OnDemandCostEquivalent": "string"
      },
      "Utilization": { 
         "TotalCommitment": "string",
         "UnusedCommitment": "string",
         "UsedCommitment": "string",
         "UtilizationPercentage": "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.

 ** [SavingsPlansUtilizationsByTime](#API_GetSavingsPlansUtilization_ResponseSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilization-response-SavingsPlansUtilizationsByTime"></a>
The amount of cost/commitment that you used your Savings Plans. You can use it to specify date ranges.  
Type: Array of [SavingsPlansUtilizationByTime](API_SavingsPlansUtilizationByTime.md) objects

 ** [Total](#API_GetSavingsPlansUtilization_ResponseSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilization-response-Total"></a>
The total amount of cost/commitment that you used your Savings Plans, regardless of date ranges.  
Type: [SavingsPlansUtilizationAggregates](API_SavingsPlansUtilizationAggregates.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetSavingsPlansUtilization) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetSavingsPlansUtilization) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetSavingsPlansUtilization) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetSavingsPlansUtilization) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetSavingsPlansUtilization) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetSavingsPlansUtilization) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetSavingsPlansUtilization) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetSavingsPlansUtilization) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetSavingsPlansUtilization) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetSavingsPlansUtilization) 

# GetSavingsPlansUtilizationDetails


Retrieves attribute data along with aggregate utilization and savings data for a given time period. This doesn't support granular or grouped data (daily/monthly) in response. You can't retrieve data by dates in a single response similar to `GetSavingsPlanUtilization`, but you have the option to make multiple calls to `GetSavingsPlanUtilizationDetails` by providing individual dates. You can use `GetDimensionValues` in `SAVINGS_PLANS` to determine the possible dimension values.

**Note**  
 `GetSavingsPlanUtilizationDetails` internally groups data by `SavingsPlansArn`.

## Request Syntax


```
{
   "DataType": [ "string" ],
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "MaxResults": number,
   "NextToken": "string",
   "SortBy": { 
      "Key": "string",
      "SortOrder": "string"
   },
   "TimePeriod": { 
      "End": "string",
      "Start": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [DataType](#API_GetSavingsPlansUtilizationDetails_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilizationDetails-request-DataType"></a>
The data type.  
Type: Array of strings  
Valid Values: `ATTRIBUTES | UTILIZATION | AMORTIZED_COMMITMENT | SAVINGS`   
Required: No

 ** [Filter](#API_GetSavingsPlansUtilizationDetails_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilizationDetails-request-Filter"></a>
Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions:  
+  `LINKED_ACCOUNT` 
+  `SAVINGS_PLAN_ARN` 
+  `REGION` 
+  `PAYMENT_OPTION` 
+  `INSTANCE_TYPE_FAMILY` 
 `GetSavingsPlansUtilizationDetails` uses the same [Expression](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_Expression.html) object as the other operations, but only `AND` is supported among each dimension.  
Type: [Expression](API_Expression.md) object  
Required: No

 ** [MaxResults](#API_GetSavingsPlansUtilizationDetails_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilizationDetails-request-MaxResults"></a>
The number of items to be returned in a response. The default is `20`, with a minimum value of `1`.  
Type: Integer  
Valid Range: Minimum value of 1.  
Required: No

 ** [NextToken](#API_GetSavingsPlansUtilizationDetails_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilizationDetails-request-NextToken"></a>
The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [SortBy](#API_GetSavingsPlansUtilizationDetails_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilizationDetails-request-SortBy"></a>
The value that you want to sort the data by.  
The following values are supported for `Key`:  
+  `UtilizationPercentage` 
+  `TotalCommitment` 
+  `UsedCommitment` 
+  `UnusedCommitment` 
+  `NetSavings` 
+  `AmortizedRecurringCommitment` 
+  `AmortizedUpfrontCommitment` 
The supported values for `SortOrder` are `ASCENDING` and `DESCENDING`.  
Type: [SortDefinition](API_SortDefinition.md) object  
Required: No

 ** [TimePeriod](#API_GetSavingsPlansUtilizationDetails_RequestSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilizationDetails-request-TimePeriod"></a>
The time period that you want the usage and costs for. The `Start` date must be within 13 months. The `End` date must be after the `Start` date, and before the current date. Future dates can't be used as an `End` date.  
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

## Response Syntax


```
{
   "NextToken": "string",
   "SavingsPlansUtilizationDetails": [ 
      { 
         "AmortizedCommitment": { 
            "AmortizedRecurringCommitment": "string",
            "AmortizedUpfrontCommitment": "string",
            "TotalAmortizedCommitment": "string"
         },
         "Attributes": { 
            "string" : "string" 
         },
         "Savings": { 
            "NetSavings": "string",
            "OnDemandCostEquivalent": "string"
         },
         "SavingsPlanArn": "string",
         "Utilization": { 
            "TotalCommitment": "string",
            "UnusedCommitment": "string",
            "UsedCommitment": "string",
            "UtilizationPercentage": "string"
         }
      }
   ],
   "TimePeriod": { 
      "End": "string",
      "Start": "string"
   },
   "Total": { 
      "AmortizedCommitment": { 
         "AmortizedRecurringCommitment": "string",
         "AmortizedUpfrontCommitment": "string",
         "TotalAmortizedCommitment": "string"
      },
      "Savings": { 
         "NetSavings": "string",
         "OnDemandCostEquivalent": "string"
      },
      "Utilization": { 
         "TotalCommitment": "string",
         "UnusedCommitment": "string",
         "UsedCommitment": "string",
         "UtilizationPercentage": "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.

 ** [NextToken](#API_GetSavingsPlansUtilizationDetails_ResponseSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilizationDetails-response-NextToken"></a>
The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [SavingsPlansUtilizationDetails](#API_GetSavingsPlansUtilizationDetails_ResponseSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilizationDetails-response-SavingsPlansUtilizationDetails"></a>
Retrieves a single daily or monthly Savings Plans utilization rate and details for your account.  
Type: Array of [SavingsPlansUtilizationDetail](API_SavingsPlansUtilizationDetail.md) objects

 ** [TimePeriod](#API_GetSavingsPlansUtilizationDetails_ResponseSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilizationDetails-response-TimePeriod"></a>
The time period of the request.   
Type: [DateInterval](API_DateInterval.md) object

 ** [Total](#API_GetSavingsPlansUtilizationDetails_ResponseSyntax) **   <a name="awscostmanagement-GetSavingsPlansUtilizationDetails-response-Total"></a>
The total Savings Plans utilization, regardless of time period.  
Type: [SavingsPlansUtilizationAggregates](API_SavingsPlansUtilizationAggregates.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetSavingsPlansUtilizationDetails) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetSavingsPlansUtilizationDetails) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetSavingsPlansUtilizationDetails) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetSavingsPlansUtilizationDetails) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetSavingsPlansUtilizationDetails) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetSavingsPlansUtilizationDetails) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetSavingsPlansUtilizationDetails) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetSavingsPlansUtilizationDetails) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetSavingsPlansUtilizationDetails) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetSavingsPlansUtilizationDetails) 

# GetTags


Queries for available tag keys and tag values for a specified period. You can search the tag values for an arbitrary string. 

## Request Syntax


```
{
   "BillingViewArn": "string",
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "MaxResults": number,
   "NextPageToken": "string",
   "SearchString": "string",
   "SortBy": [ 
      { 
         "Key": "string",
         "SortOrder": "string"
      }
   ],
   "TagKey": "string",
   "TimePeriod": { 
      "End": "string",
      "Start": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [BillingViewArn](#API_GetTags_RequestSyntax) **   <a name="awscostmanagement-GetTags-request-BillingViewArn"></a>
The Amazon Resource Name (ARN) that uniquely identifies a specific billing view. The ARN is used to specify which particular billing view you want to interact with or retrieve information from when making API calls related to Amazon Billing and Cost Management features. The BillingViewArn can be retrieved by calling the ListBillingViews API.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `^arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[-a-zA-Z0-9/:_+=.-@]{1,43}$`   
Required: No

 ** [Filter](#API_GetTags_RequestSyntax) **   <a name="awscostmanagement-GetTags-request-Filter"></a>
Use `Expression` to filter in various Cost Explorer APIs.  
Not all `Expression` types are supported in each API. Refer to the documentation for each specific API to see what is supported.  
There are two patterns:  
+ Simple dimension values.
  + There are three types of simple dimension values: `CostCategories`, `Tags`, and `Dimensions`.
    + Specify the `CostCategories` field to define a filter that acts on Cost Categories.
    + Specify the `Tags` field to define a filter that acts on Cost Allocation Tags.
    + Specify the `Dimensions` field to define a filter that acts on the [https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_DimensionValues.html](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_DimensionValues.html).
  + For each filter type, you can set the dimension name and values for the filters that you plan to use.
    + For example, you can filter for `REGION==us-east-1 OR REGION==us-west-1`. For `GetRightsizingRecommendation`, the Region is a full name (for example, `REGION==US East (N. Virginia)`.
    + The corresponding `Expression` for this example is as follows: `{ "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] } }` 
    + As shown in the previous example, lists of dimension values are combined with `OR` when applying the filter.
  + You can also set different match options to further control how the filter behaves. Not all APIs support match options. Refer to the documentation for each specific API to see what is supported.
    + For example, you can filter for linked account names that start with "a".
    + The corresponding `Expression` for this example is as follows: `{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME", "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] } }` 
+ Compound `Expression` types with logical operations.
  + You can use multiple `Expression` types and the logical operators `AND/OR/NOT` to create a list of one or more `Expression` objects. By doing this, you can filter by more advanced options.
  + For example, you can filter by `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)`.
  + The corresponding `Expression` for this example is as follows: `{ "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } ` 
**Note**  
Because each `Expression` can have only one operator, the service returns an error if more than one is specified. The following example shows an `Expression` object that creates an error: ` { "And": [ ... ], "Dimensions": { "Key": "USAGE_TYPE", "Values": [ "DataTransfer" ] } } `   
The following is an example of the corresponding error message: `"Expression has more than one roots. Only one root operator is allowed for each expression: And, Or, Not, Dimensions, Tags, CostCategories"` 
For the `GetRightsizingRecommendation` action, a combination of OR and NOT isn't supported. OR isn't supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or `RIGHTSIZING_TYPE`.  
For the `GetReservationPurchaseRecommendation` action, only NOT is supported. AND and OR aren't supported. Dimensions are limited to `LINKED_ACCOUNT`.
Type: [Expression](API_Expression.md) object  
Required: No

 ** [MaxResults](#API_GetTags_RequestSyntax) **   <a name="awscostmanagement-GetTags-request-MaxResults"></a>
This field is only used when SortBy is provided in the request. The maximum number of objects that are returned for this request. If MaxResults isn't specified with SortBy, the request returns 1000 results as the default value for this parameter.  
For `GetTags`, MaxResults has an upper quota of 1000.  
Type: Integer  
Valid Range: Minimum value of 1.  
Required: No

 ** [NextPageToken](#API_GetTags_RequestSyntax) **   <a name="awscostmanagement-GetTags-request-NextPageToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [SearchString](#API_GetTags_RequestSyntax) **   <a name="awscostmanagement-GetTags-request-SearchString"></a>
The value that you want to search for.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

 ** [SortBy](#API_GetTags_RequestSyntax) **   <a name="awscostmanagement-GetTags-request-SortBy"></a>
The value that you want to sort the data by.  
The key represents cost and usage metrics. The following values are supported:  
+  `BlendedCost` 
+  `UnblendedCost` 
+  `AmortizedCost` 
+  `NetAmortizedCost` 
+  `NetUnblendedCost` 
+  `UsageQuantity` 
+  `NormalizedUsageAmount` 
The supported values for `SortOrder` are `ASCENDING` and `DESCENDING`.  
When you use `SortBy`, `NextPageToken` and `SearchString` aren't supported.  
Type: Array of [SortDefinition](API_SortDefinition.md) objects  
Required: No

 ** [TagKey](#API_GetTags_RequestSyntax) **   <a name="awscostmanagement-GetTags-request-TagKey"></a>
The key of the tag that you want to return values for.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

 ** [TimePeriod](#API_GetTags_RequestSyntax) **   <a name="awscostmanagement-GetTags-request-TimePeriod"></a>
The start and end dates for retrieving the dimension values. The start date is inclusive, but the end date is exclusive. For example, if `start` is `2017-01-01` and `end` is `2017-05-01`, then the cost and usage data is retrieved from `2017-01-01` up to and including `2017-04-30` but not including `2017-05-01`.  
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

## Response Syntax


```
{
   "NextPageToken": "string",
   "ReturnSize": number,
   "Tags": [ "string" ],
   "TotalSize": 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.

 ** [NextPageToken](#API_GetTags_ResponseSyntax) **   <a name="awscostmanagement-GetTags-response-NextPageToken"></a>
The token for the next set of retrievable results. Amazon provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [ReturnSize](#API_GetTags_ResponseSyntax) **   <a name="awscostmanagement-GetTags-response-ReturnSize"></a>
The number of query results that Amazon returns at a time.  
Type: Integer

 ** [Tags](#API_GetTags_ResponseSyntax) **   <a name="awscostmanagement-GetTags-response-Tags"></a>
The tags that match your request.  
Type: Array of strings

 ** [TotalSize](#API_GetTags_ResponseSyntax) **   <a name="awscostmanagement-GetTags-response-TotalSize"></a>
The total number of query results.  
Type: Integer

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** BillExpirationException **   
The requested report expired. Update the date interval and try again.  
HTTP Status Code: 400

 ** BillingViewHealthStatusException **   
 The billing view status must be `HEALTHY` to perform this action. Try again when the status is `HEALTHY`.   
HTTP Status Code: 400

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** RequestChangedException **   
Your request parameters changed between pages. Try again with the old parameters or without a pagination token.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

## Examples


### Example


The following example shows how to retrieve the list of tag keys using the `GetTags` operation.

#### Sample Request


```
POST / HTTP/1.1
Host: ce.us-east-1.amazonaws.com
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: AWSInsightsIndexService.GetTags
{
  "TimePeriod": {
    "Start": "2017-01-01",
    "End": "2017-05-18"
  },
  "TagKey": "Project",
  "SearchString": "secretProject"
}
```

#### Sample Response


```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  "ReturnSize": 2,
  "Tags": [
    secretProject1",
    "secretProject2"
    ],
  "TotalSize": 2
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetTags) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetTags) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetTags) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetTags) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetTags) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetTags) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetTags) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetTags) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetTags) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetTags) 

# GetUsageForecast


Retrieves a forecast for how much Amazon Web Services predicts that you will use over the forecast time period that you select, based on your past usage. 

## Request Syntax


```
{
   "BillingViewArn": "string",
   "Filter": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   },
   "Granularity": "string",
   "Metric": "string",
   "PredictionIntervalLevel": number,
   "TimePeriod": { 
      "End": "string",
      "Start": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [BillingViewArn](#API_GetUsageForecast_RequestSyntax) **   <a name="awscostmanagement-GetUsageForecast-request-BillingViewArn"></a>
The Amazon Resource Name (ARN) that uniquely identifies a specific billing view. The ARN is used to specify which particular billing view you want to interact with or retrieve information from when making API calls related to Amazon Billing and Cost Management features. The BillingViewArn can be retrieved by calling the ListBillingViews API.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `^arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[-a-zA-Z0-9/:_+=.-@]{1,43}$`   
Required: No

 ** [Filter](#API_GetUsageForecast_RequestSyntax) **   <a name="awscostmanagement-GetUsageForecast-request-Filter"></a>
The filters that you want to use to filter your forecast. The `GetUsageForecast` API supports filtering by the following dimensions:  
+  `AZ` 
+  `INSTANCE_TYPE` 
+  `LINKED_ACCOUNT` 
+  `LINKED_ACCOUNT_NAME` 
+  `OPERATION` 
+  `PURCHASE_TYPE` 
+  `REGION` 
+  `SERVICE` 
+  `USAGE_TYPE` 
+  `USAGE_TYPE_GROUP` 
+  `RECORD_TYPE` 
+  `OPERATING_SYSTEM` 
+  `TENANCY` 
+  `SCOPE` 
+  `PLATFORM` 
+  `SUBSCRIPTION_ID` 
+  `LEGAL_ENTITY_NAME` 
+  `DEPLOYMENT_OPTION` 
+  `DATABASE_ENGINE` 
+  `INSTANCE_TYPE_FAMILY` 
+  `BILLING_ENTITY` 
+  `RESERVATION_ID` 
+  `SAVINGS_PLAN_ARN` 
Type: [Expression](API_Expression.md) object  
Required: No

 ** [Granularity](#API_GetUsageForecast_RequestSyntax) **   <a name="awscostmanagement-GetUsageForecast-request-Granularity"></a>
How granular you want the forecast to be. You can get 3 months of `DAILY` forecasts or 18 months of `MONTHLY` forecasts.  
The `GetUsageForecast` operation supports only `DAILY` and `MONTHLY` granularities.  
Type: String  
Valid Values: `DAILY | MONTHLY | HOURLY`   
Required: Yes

 ** [Metric](#API_GetUsageForecast_RequestSyntax) **   <a name="awscostmanagement-GetUsageForecast-request-Metric"></a>
Which metric Cost Explorer uses to create your forecast.  
Valid values for a `GetUsageForecast` call are the following:  
+ USAGE\$1QUANTITY
+ NORMALIZED\$1USAGE\$1AMOUNT
Type: String  
Valid Values: `BLENDED_COST | UNBLENDED_COST | AMORTIZED_COST | NET_UNBLENDED_COST | NET_AMORTIZED_COST | USAGE_QUANTITY | NORMALIZED_USAGE_AMOUNT`   
Required: Yes

 ** [PredictionIntervalLevel](#API_GetUsageForecast_RequestSyntax) **   <a name="awscostmanagement-GetUsageForecast-request-PredictionIntervalLevel"></a>
 Amazon Cost Explorer always returns the mean forecast as a single point. You can request a prediction interval around the mean by specifying a confidence level. The higher the confidence level, the more confident Cost Explorer is about the actual value falling in the prediction interval. Higher confidence levels result in wider prediction intervals.  
Type: Integer  
Valid Range: Minimum value of 51. Maximum value of 99.  
Required: No

 ** [TimePeriod](#API_GetUsageForecast_RequestSyntax) **   <a name="awscostmanagement-GetUsageForecast-request-TimePeriod"></a>
The start and end dates of the period that you want to retrieve usage forecast for. The start date is included in the period, but the end date isn't included in the period. For example, if `start` is `2017-01-01` and `end` is `2017-05-01`, then the cost and usage data is retrieved from `2017-01-01` up to and including `2017-04-30` but not including `2017-05-01`. The start date must be equal to or later than the current date to avoid a validation error.  
Type: [DateInterval](API_DateInterval.md) object  
Required: Yes

## Response Syntax


```
{
   "ForecastResultsByTime": [ 
      { 
         "MeanValue": "string",
         "PredictionIntervalLowerBound": "string",
         "PredictionIntervalUpperBound": "string",
         "TimePeriod": { 
            "End": "string",
            "Start": "string"
         }
      }
   ],
   "Total": { 
      "Amount": "string",
      "Unit": "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.

 ** [ForecastResultsByTime](#API_GetUsageForecast_ResponseSyntax) **   <a name="awscostmanagement-GetUsageForecast-response-ForecastResultsByTime"></a>
The forecasts for your query, in order. For `DAILY` forecasts, this is a list of days. For `MONTHLY` forecasts, this is a list of months.  
Type: Array of [ForecastResult](API_ForecastResult.md) objects

 ** [Total](#API_GetUsageForecast_ResponseSyntax) **   <a name="awscostmanagement-GetUsageForecast-response-Total"></a>
How much you're forecasted to use over the forecast period.  
Type: [MetricValue](API_MetricValue.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** BillingViewHealthStatusException **   
 The billing view status must be `HEALTHY` to perform this action. Try again when the status is `HEALTHY`.   
HTTP Status Code: 400

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

 ** UnresolvableUsageUnitException **   
Cost Explorer was unable to identify the usage unit. Provide `UsageType/UsageTypeGroup` filter selections that contain matching units, for example: `hours`.  
HTTP Status Code: 400

## Examples


### Example


The following example shows how to retrieve a forecast using the `GetUsageForecast` operation.

#### Sample Request


```
POST / HTTP/1.1
Host: ce.us-east-1.amazonaws.com
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: AWSInsightsIndexService.GetUsageForecast
{
  "TimePeriod": {
    "Start":"2018-10-25",
    "End": "2018-10-27"
  },
  "Granularity": "DAILY",
  "Filter": {      
    "Dimensions": {
      "Key": "SERVICE",
      "Values": [
        "Amazon Simple Storage Service"
      ]
    }
  },
  "Metric":"USAGE_QUANTITY",
  "PredictionIntervalLevel":85
}
```

#### Sample Response


```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
  "ForecastResultsByTime": [
    {
      "MeanValue": "37.0786663399", 
      "PredictionIntervalLowerBound": "34.9970026341", 
      "PredictionIntervalUpperBound": "39.1603300457", 
      "TimePeriod": {
        "End": "2019-10-26", 
        "Start": "2019-10-25"
      }
    }, 
    {
      "MeanValue": "37.0786663399", 
      "PredictionIntervalLowerBound": "34.9970026341", 
      "PredictionIntervalUpperBound": "39.1603300457", 
      "TimePeriod": {
        "End": "2019-10-27", 
        "Start": "2019-10-26"
      }
    }
  ], 
  "Total": {
      "Amount": "74.1573326798", 
      "Unit": "Hrs"
  }
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/GetUsageForecast) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/GetUsageForecast) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/GetUsageForecast) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/GetUsageForecast) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/GetUsageForecast) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/GetUsageForecast) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/GetUsageForecast) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/GetUsageForecast) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/GetUsageForecast) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/GetUsageForecast) 

# ListCommitmentPurchaseAnalyses


Lists the commitment purchase analyses for your account.

## Request Syntax


```
{
   "AnalysisIds": [ "string" ],
   "AnalysisStatus": "string",
   "NextPageToken": "string",
   "PageSize": number
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AnalysisIds](#API_ListCommitmentPurchaseAnalyses_RequestSyntax) **   <a name="awscostmanagement-ListCommitmentPurchaseAnalyses-request-AnalysisIds"></a>
The analysis IDs associated with the commitment purchase analyses.  
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 600 items.  
Length Constraints: Fixed length of 36.  
Pattern: `^[\S\s]{8}-[\S\s]{4}-[\S\s]{4}-[\S\s]{4}-[\S\s]{12}$`   
Required: No

 ** [AnalysisStatus](#API_ListCommitmentPurchaseAnalyses_RequestSyntax) **   <a name="awscostmanagement-ListCommitmentPurchaseAnalyses-request-AnalysisStatus"></a>
The status of the analysis.  
Type: String  
Valid Values: `SUCCEEDED | PROCESSING | FAILED`   
Required: No

 ** [NextPageToken](#API_ListCommitmentPurchaseAnalyses_RequestSyntax) **   <a name="awscostmanagement-ListCommitmentPurchaseAnalyses-request-NextPageToken"></a>
The token to retrieve the next set of results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [PageSize](#API_ListCommitmentPurchaseAnalyses_RequestSyntax) **   <a name="awscostmanagement-ListCommitmentPurchaseAnalyses-request-PageSize"></a>
The number of analyses that you want returned in a single response object.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 600.  
Required: No

## Response Syntax


```
{
   "AnalysisSummaryList": [ 
      { 
         "AnalysisCompletionTime": "string",
         "AnalysisId": "string",
         "AnalysisStartedTime": "string",
         "AnalysisStatus": "string",
         "CommitmentPurchaseAnalysisConfiguration": { 
            "SavingsPlansPurchaseAnalysisConfiguration": { 
               "AccountId": "string",
               "AccountScope": "string",
               "AnalysisType": "string",
               "LookBackTimePeriod": { 
                  "End": "string",
                  "Start": "string"
               },
               "SavingsPlansToAdd": [ 
                  { 
                     "InstanceFamily": "string",
                     "OfferingId": "string",
                     "PaymentOption": "string",
                     "Region": "string",
                     "SavingsPlansCommitment": number,
                     "SavingsPlansType": "string",
                     "TermInYears": "string"
                  }
               ],
               "SavingsPlansToExclude": [ "string" ]
            }
         },
         "ErrorCode": "string",
         "EstimatedCompletionTime": "string"
      }
   ],
   "NextPageToken": "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.

 ** [AnalysisSummaryList](#API_ListCommitmentPurchaseAnalyses_ResponseSyntax) **   <a name="awscostmanagement-ListCommitmentPurchaseAnalyses-response-AnalysisSummaryList"></a>
The list of analyses.  
Type: Array of [AnalysisSummary](API_AnalysisSummary.md) objects

 ** [NextPageToken](#API_ListCommitmentPurchaseAnalyses_ResponseSyntax) **   <a name="awscostmanagement-ListCommitmentPurchaseAnalyses-response-NextPageToken"></a>
The token to retrieve the next set of results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/ListCommitmentPurchaseAnalyses) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/ListCommitmentPurchaseAnalyses) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/ListCommitmentPurchaseAnalyses) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/ListCommitmentPurchaseAnalyses) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/ListCommitmentPurchaseAnalyses) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/ListCommitmentPurchaseAnalyses) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/ListCommitmentPurchaseAnalyses) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/ListCommitmentPurchaseAnalyses) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/ListCommitmentPurchaseAnalyses) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/ListCommitmentPurchaseAnalyses) 

# ListCostAllocationTagBackfillHistory


 Retrieves a list of your historical cost allocation tag backfill requests. 

## Request Syntax


```
{
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListCostAllocationTagBackfillHistory_RequestSyntax) **   <a name="awscostmanagement-ListCostAllocationTagBackfillHistory-request-MaxResults"></a>
 The maximum number of objects that are returned for this request.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListCostAllocationTagBackfillHistory_RequestSyntax) **   <a name="awscostmanagement-ListCostAllocationTagBackfillHistory-request-NextToken"></a>
 The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "BackfillRequests": [ 
      { 
         "BackfillFrom": "string",
         "BackfillStatus": "string",
         "CompletedAt": "string",
         "LastUpdatedAt": "string",
         "RequestedAt": "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.

 ** [BackfillRequests](#API_ListCostAllocationTagBackfillHistory_ResponseSyntax) **   <a name="awscostmanagement-ListCostAllocationTagBackfillHistory-response-BackfillRequests"></a>
 The list of historical cost allocation tag backfill requests.   
Type: Array of [CostAllocationTagBackfillRequest](API_CostAllocationTagBackfillRequest.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 1000 items.

 ** [NextToken](#API_ListCostAllocationTagBackfillHistory_ResponseSyntax) **   <a name="awscostmanagement-ListCostAllocationTagBackfillHistory-response-NextToken"></a>
 The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## Examples


The following are sample requests and responses of the `ListCostAllocationTagBackfillHistory` operations.

### Example 1: List the latest cost allocation tag backfill request


This example illustrates one usage of ListCostAllocationTagBackfillHistory.

#### Sample Request


```
{
    "MaxResults": 1
}
```

#### Sample Response


```
{
    "BackfillRequests": [
        {
            "BackfillFrom":"2024-02-01T00:00:00Z",
            "BackfillStatus":"PROCESSING",
            "RequestedAt":"2024-03-01T09:16:23Z",
            "LastUpdatedAt":"2024-03-01T09:16:23Z"
        }
    ],
    "NextToken": null
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/ListCostAllocationTagBackfillHistory) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/ListCostAllocationTagBackfillHistory) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/ListCostAllocationTagBackfillHistory) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/ListCostAllocationTagBackfillHistory) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/ListCostAllocationTagBackfillHistory) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/ListCostAllocationTagBackfillHistory) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/ListCostAllocationTagBackfillHistory) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/ListCostAllocationTagBackfillHistory) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/ListCostAllocationTagBackfillHistory) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/ListCostAllocationTagBackfillHistory) 

# ListCostAllocationTags


Get a list of cost allocation tags. All inputs in the API are optional and serve as filters. By default, all cost allocation tags are returned. 

## Request Syntax


```
{
   "MaxResults": number,
   "NextToken": "string",
   "Status": "string",
   "TagKeys": [ "string" ],
   "Type": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_ListCostAllocationTags_RequestSyntax) **   <a name="awscostmanagement-ListCostAllocationTags-request-MaxResults"></a>
The maximum number of objects that are returned for this request. By default, the request returns 100 results.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_ListCostAllocationTags_RequestSyntax) **   <a name="awscostmanagement-ListCostAllocationTags-request-NextToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [Status](#API_ListCostAllocationTags_RequestSyntax) **   <a name="awscostmanagement-ListCostAllocationTags-request-Status"></a>
The status of cost allocation tag keys that are returned for this request.   
Type: String  
Valid Values: `Active | Inactive`   
Required: No

 ** [TagKeys](#API_ListCostAllocationTags_RequestSyntax) **   <a name="awscostmanagement-ListCostAllocationTags-request-TagKeys"></a>
The list of cost allocation tag keys that are returned for this request.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 100 items.  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

 ** [Type](#API_ListCostAllocationTags_RequestSyntax) **   <a name="awscostmanagement-ListCostAllocationTags-request-Type"></a>
The type of `CostAllocationTag` object that are returned for this request. The `AWSGenerated` type tags are tags that Amazon defines and applies to support Amazon resources for cost allocation purposes. The `UserDefined` type tags are tags that you define, create, and apply to resources.   
Type: String  
Valid Values: `AWSGenerated | UserDefined`   
Required: No

## Response Syntax


```
{
   "CostAllocationTags": [ 
      { 
         "LastUpdatedDate": "string",
         "LastUsedDate": "string",
         "Status": "string",
         "TagKey": "string",
         "Type": "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.

 ** [CostAllocationTags](#API_ListCostAllocationTags_ResponseSyntax) **   <a name="awscostmanagement-ListCostAllocationTags-response-CostAllocationTags"></a>
A list of cost allocation tags that includes the detailed metadata for each one.   
Type: Array of [CostAllocationTag](API_CostAllocationTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 100 items.

 ** [NextToken](#API_ListCostAllocationTags_ResponseSyntax) **   <a name="awscostmanagement-ListCostAllocationTags-response-NextToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## Examples


The following are sample requests and responses of the `ListCostAllocationTags` operations.

### Example 1: List all user defined active tags


This example illustrates one usage of ListCostAllocationTags.

#### Sample Request


```
{
    "Type": "UserDefined",
    "Status": "Active"
}
```

#### Sample Response


```
{
    "CostAllocationTags": [
        {
            "TagKey": "tagA",
            "Type": "UserDefined",
            "Status": "Active" 
        }
    ],
    "NextToken": null
}
```

### Example 2: List all tags by tag keys


This example illustrates one usage of ListCostAllocationTags.

#### Sample Request


```
{
    "TagKeys": ["tagA", "tagB"]
}
```

#### Sample Response


```
{
    "CostAllocationTags": [
        {
            "TagKey": "tagA",
            "Type": "UserDefined",
            "Status": "Active" 
        },
        {
            "TagKey": "tagB",
            "Type": "UserDefined",
            "Status": "Inactive"
        }
    ],
    "NextToken": null
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/ListCostAllocationTags) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/ListCostAllocationTags) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/ListCostAllocationTags) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/ListCostAllocationTags) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/ListCostAllocationTags) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/ListCostAllocationTags) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/ListCostAllocationTags) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/ListCostAllocationTags) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/ListCostAllocationTags) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/ListCostAllocationTags) 

# ListCostCategoryDefinitions


Returns the name, Amazon Resource Name (ARN), `NumberOfRules` and effective dates of all cost categories defined in the account. You have the option to use `EffectiveOn` and `SupportedResourceTypes` to return a list of cost categories that were active on a specific date. If there is no `EffectiveOn` specified, you’ll see cost categories that are effective on the current date. If cost category is still effective, `EffectiveEnd` is omitted in the response. `ListCostCategoryDefinitions` supports pagination. The request can have a `MaxResults` range up to 100.

## Request Syntax


```
{
   "EffectiveOn": "string",
   "MaxResults": number,
   "NextToken": "string",
   "SupportedResourceTypes": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [EffectiveOn](#API_ListCostCategoryDefinitions_RequestSyntax) **   <a name="awscostmanagement-ListCostCategoryDefinitions-request-EffectiveOn"></a>
The date when the cost category was effective.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 25.  
Pattern: `^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(([+-]\d\d:\d\d)|Z)$`   
Required: No

 ** [MaxResults](#API_ListCostCategoryDefinitions_RequestSyntax) **   <a name="awscostmanagement-ListCostCategoryDefinitions-request-MaxResults"></a>
The number of entries a paginated response contains.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextToken](#API_ListCostCategoryDefinitions_RequestSyntax) **   <a name="awscostmanagement-ListCostCategoryDefinitions-request-NextToken"></a>
The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [SupportedResourceTypes](#API_ListCostCategoryDefinitions_RequestSyntax) **   <a name="awscostmanagement-ListCostCategoryDefinitions-request-SupportedResourceTypes"></a>
 Filter cost category definitions that are supported by given resource types based on the latest version. If the filter is present, the result only includes Cost Categories that supports input resource type. If the filter isn't provided, no filtering is applied. The valid values are `billing:rispgroupsharing` and `billing:billingview`.   
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 5 items.  
Pattern: `^[-a-zA-Z0-9/_]+:[-a-zA-Z0-9/_]+`   
Required: No

## Response Syntax


```
{
   "CostCategoryReferences": [ 
      { 
         "CostCategoryArn": "string",
         "DefaultValue": "string",
         "EffectiveEnd": "string",
         "EffectiveStart": "string",
         "Name": "string",
         "NumberOfRules": number,
         "ProcessingStatus": [ 
            { 
               "Component": "string",
               "Status": "string"
            }
         ],
         "SupportedResourceTypes": [ "string" ],
         "Values": [ "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.

 ** [CostCategoryReferences](#API_ListCostCategoryDefinitions_ResponseSyntax) **   <a name="awscostmanagement-ListCostCategoryDefinitions-response-CostCategoryReferences"></a>
A reference to a cost category that contains enough information to identify the Cost Category.   
Type: Array of [CostCategoryReference](API_CostCategoryReference.md) objects

 ** [NextToken](#API_ListCostCategoryDefinitions_ResponseSyntax) **   <a name="awscostmanagement-ListCostCategoryDefinitions-response-NextToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/ListCostCategoryDefinitions) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/ListCostCategoryDefinitions) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/ListCostCategoryDefinitions) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/ListCostCategoryDefinitions) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/ListCostCategoryDefinitions) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/ListCostCategoryDefinitions) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/ListCostCategoryDefinitions) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/ListCostCategoryDefinitions) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/ListCostCategoryDefinitions) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/ListCostCategoryDefinitions) 

# ListCostCategoryResourceAssociations


Returns resource associations of all cost categories defined in the account. You have the option to use `CostCategoryArn` to get the association for a specific cost category. `ListCostCategoryResourceAssociations` supports pagination. The request can have a `MaxResults` range up to 100. 

## Request Syntax


```
{
   "CostCategoryArn": "string",
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [CostCategoryArn](#API_ListCostCategoryResourceAssociations_RequestSyntax) **   <a name="awscostmanagement-ListCostCategoryResourceAssociations-request-CostCategoryArn"></a>
The unique identifier for your cost category.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: No

 ** [MaxResults](#API_ListCostCategoryResourceAssociations_RequestSyntax) **   <a name="awscostmanagement-ListCostCategoryResourceAssociations-request-MaxResults"></a>
 The number of entries a paginated response contains.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextToken](#API_ListCostCategoryResourceAssociations_RequestSyntax) **   <a name="awscostmanagement-ListCostCategoryResourceAssociations-request-NextToken"></a>
 The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "CostCategoryResourceAssociations": [ 
      { 
         "CostCategoryArn": "string",
         "CostCategoryName": "string",
         "ResourceArn": "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.

 ** [CostCategoryResourceAssociations](#API_ListCostCategoryResourceAssociations_ResponseSyntax) **   <a name="awscostmanagement-ListCostCategoryResourceAssociations-response-CostCategoryResourceAssociations"></a>
 A reference to a cost category association that contains information on an associated resource.   
Type: Array of [CostCategoryResourceAssociation](API_CostCategoryResourceAssociation.md) objects

 ** [NextToken](#API_ListCostCategoryResourceAssociations_ResponseSyntax) **   <a name="awscostmanagement-ListCostCategoryResourceAssociations-response-NextToken"></a>
 The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

## Examples


The following is a sample response of the `ListCostCategoryResourceAssociations` operation that you can use to retrieve all associated cost categories and corresponding associated resources.

### Example


This example illustrates one usage of ListCostCategoryResourceAssociations.

#### Sample Response


```
{
  "CostCategoryResourceAssociations": [
    {
      "CostCategoryArn": "arn:aws:ce::111122223333:costcategory/f595cb52-91ec-4575-b99f-15829f405ba3",
      "CostCategoryName": "MyCostCategory",
      "ResourceArn": "arn:aws:billing::111122223333:rispgroupsharing/111122223333"
    }
  ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/ListCostCategoryResourceAssociations) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/ListCostCategoryResourceAssociations) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/ListCostCategoryResourceAssociations) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/ListCostCategoryResourceAssociations) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/ListCostCategoryResourceAssociations) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/ListCostCategoryResourceAssociations) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/ListCostCategoryResourceAssociations) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/ListCostCategoryResourceAssociations) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/ListCostCategoryResourceAssociations) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/ListCostCategoryResourceAssociations) 

# ListSavingsPlansPurchaseRecommendationGeneration


Retrieves a list of your historical recommendation generations within the past 30 days.

## Request Syntax


```
{
   "GenerationStatus": "string",
   "NextPageToken": "string",
   "PageSize": number,
   "RecommendationIds": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [GenerationStatus](#API_ListSavingsPlansPurchaseRecommendationGeneration_RequestSyntax) **   <a name="awscostmanagement-ListSavingsPlansPurchaseRecommendationGeneration-request-GenerationStatus"></a>
The status of the recommendation generation.  
Type: String  
Valid Values: `SUCCEEDED | PROCESSING | FAILED`   
Required: No

 ** [NextPageToken](#API_ListSavingsPlansPurchaseRecommendationGeneration_RequestSyntax) **   <a name="awscostmanagement-ListSavingsPlansPurchaseRecommendationGeneration-request-NextPageToken"></a>
The token to retrieve the next set of results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [PageSize](#API_ListSavingsPlansPurchaseRecommendationGeneration_RequestSyntax) **   <a name="awscostmanagement-ListSavingsPlansPurchaseRecommendationGeneration-request-PageSize"></a>
The number of recommendations that you want returned in a single response object.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 6000.  
Required: No

 ** [RecommendationIds](#API_ListSavingsPlansPurchaseRecommendationGeneration_RequestSyntax) **   <a name="awscostmanagement-ListSavingsPlansPurchaseRecommendationGeneration-request-RecommendationIds"></a>
The IDs for each specific recommendation.  
Type: Array of strings  
Length Constraints: Fixed length of 36.  
Pattern: `^[\S\s]{8}-[\S\s]{4}-[\S\s]{4}-[\S\s]{4}-[\S\s]{12}$`   
Required: No

## Response Syntax


```
{
   "GenerationSummaryList": [ 
      { 
         "EstimatedCompletionTime": "string",
         "GenerationCompletionTime": "string",
         "GenerationStartedTime": "string",
         "GenerationStatus": "string",
         "RecommendationId": "string"
      }
   ],
   "NextPageToken": "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.

 ** [GenerationSummaryList](#API_ListSavingsPlansPurchaseRecommendationGeneration_ResponseSyntax) **   <a name="awscostmanagement-ListSavingsPlansPurchaseRecommendationGeneration-response-GenerationSummaryList"></a>
The list of historical recommendation generations.  
Type: Array of [GenerationSummary](API_GenerationSummary.md) objects

 ** [NextPageToken](#API_ListSavingsPlansPurchaseRecommendationGeneration_ResponseSyntax) **   <a name="awscostmanagement-ListSavingsPlansPurchaseRecommendationGeneration-response-NextPageToken"></a>
The token to retrieve the next set of results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/ListSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/ListSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/ListSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/ListSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/ListSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/ListSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/ListSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/ListSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/ListSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/ListSavingsPlansPurchaseRecommendationGeneration) 

# ListTagsForResource


Returns a list of resource tags associated with the resource specified by the Amazon Resource Name (ARN). 

## Request Syntax


```
{
   "ResourceArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_ListTagsForResource_RequestSyntax) **   <a name="awscostmanagement-ListTagsForResource-request-ResourceArn"></a>
The Amazon Resource Name (ARN) of the resource. For a list of supported resources, see [ResourceTag](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_ResourceTag.html).  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

## Response Syntax


```
{
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "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.

 ** [ResourceTags](#API_ListTagsForResource_ResponseSyntax) **   <a name="awscostmanagement-ListTagsForResource-response-ResourceTags"></a>
A list of tag key value pairs that are associated with the resource.   
Type: Array of [ResourceTag](API_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/ListTagsForResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/ListTagsForResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/ListTagsForResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/ListTagsForResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/ListTagsForResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/ListTagsForResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/ListTagsForResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/ListTagsForResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/ListTagsForResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/ListTagsForResource) 

# ProvideAnomalyFeedback


Modifies the feedback property of a given cost anomaly. 

## Request Syntax


```
{
   "AnomalyId": "string",
   "Feedback": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AnomalyId](#API_ProvideAnomalyFeedback_RequestSyntax) **   <a name="awscostmanagement-ProvideAnomalyFeedback-request-AnomalyId"></a>
A cost anomaly ID.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: Yes

 ** [Feedback](#API_ProvideAnomalyFeedback_RequestSyntax) **   <a name="awscostmanagement-ProvideAnomalyFeedback-request-Feedback"></a>
Describes whether the cost anomaly was a planned activity or you considered it an anomaly.   
Type: String  
Valid Values: `YES | NO | PLANNED_ACTIVITY`   
Required: Yes

## Response Syntax


```
{
   "AnomalyId": "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.

 ** [AnomalyId](#API_ProvideAnomalyFeedback_ResponseSyntax) **   <a name="awscostmanagement-ProvideAnomalyFeedback-response-AnomalyId"></a>
The ID of the modified cost anomaly.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/ProvideAnomalyFeedback) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/ProvideAnomalyFeedback) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/ProvideAnomalyFeedback) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/ProvideAnomalyFeedback) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/ProvideAnomalyFeedback) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/ProvideAnomalyFeedback) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/ProvideAnomalyFeedback) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/ProvideAnomalyFeedback) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/ProvideAnomalyFeedback) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/ProvideAnomalyFeedback) 

# StartCommitmentPurchaseAnalysis


Specifies the parameters of a planned commitment purchase and starts the generation of the analysis. This enables you to estimate the cost, coverage, and utilization impact of your planned commitment purchases.

## Request Syntax


```
{
   "CommitmentPurchaseAnalysisConfiguration": { 
      "SavingsPlansPurchaseAnalysisConfiguration": { 
         "AccountId": "string",
         "AccountScope": "string",
         "AnalysisType": "string",
         "LookBackTimePeriod": { 
            "End": "string",
            "Start": "string"
         },
         "SavingsPlansToAdd": [ 
            { 
               "InstanceFamily": "string",
               "OfferingId": "string",
               "PaymentOption": "string",
               "Region": "string",
               "SavingsPlansCommitment": number,
               "SavingsPlansType": "string",
               "TermInYears": "string"
            }
         ],
         "SavingsPlansToExclude": [ "string" ]
      }
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [CommitmentPurchaseAnalysisConfiguration](#API_StartCommitmentPurchaseAnalysis_RequestSyntax) **   <a name="awscostmanagement-StartCommitmentPurchaseAnalysis-request-CommitmentPurchaseAnalysisConfiguration"></a>
The configuration for the commitment purchase analysis.  
Type: [CommitmentPurchaseAnalysisConfiguration](API_CommitmentPurchaseAnalysisConfiguration.md) object  
Required: Yes

## Response Syntax


```
{
   "AnalysisId": "string",
   "AnalysisStartedTime": "string",
   "EstimatedCompletionTime": "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.

 ** [AnalysisId](#API_StartCommitmentPurchaseAnalysis_ResponseSyntax) **   <a name="awscostmanagement-StartCommitmentPurchaseAnalysis-response-AnalysisId"></a>
The analysis ID that's associated with the commitment purchase analysis.  
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `^[\S\s]{8}-[\S\s]{4}-[\S\s]{4}-[\S\s]{4}-[\S\s]{12}$` 

 ** [AnalysisStartedTime](#API_StartCommitmentPurchaseAnalysis_ResponseSyntax) **   <a name="awscostmanagement-StartCommitmentPurchaseAnalysis-response-AnalysisStartedTime"></a>
The start time of the analysis.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 25.  
Pattern: `^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(([+-]\d\d:\d\d)|Z)$` 

 ** [EstimatedCompletionTime](#API_StartCommitmentPurchaseAnalysis_ResponseSyntax) **   <a name="awscostmanagement-StartCommitmentPurchaseAnalysis-response-EstimatedCompletionTime"></a>
The estimated time for when the analysis will complete.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 25.  
Pattern: `^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(([+-]\d\d:\d\d)|Z)$` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** GenerationExistsException **   
A request to generate a recommendation or analysis is already in progress.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
 You've reached the limit on the number of resources you can create, or exceeded the size of an individual resource.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/StartCommitmentPurchaseAnalysis) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/StartCommitmentPurchaseAnalysis) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/StartCommitmentPurchaseAnalysis) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/StartCommitmentPurchaseAnalysis) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/StartCommitmentPurchaseAnalysis) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/StartCommitmentPurchaseAnalysis) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/StartCommitmentPurchaseAnalysis) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/StartCommitmentPurchaseAnalysis) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/StartCommitmentPurchaseAnalysis) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/StartCommitmentPurchaseAnalysis) 

# StartCostAllocationTagBackfill


 Request a cost allocation tag backfill. This will backfill the activation status (either `active` or `inactive`) for all tag keys from `para:BackfillFrom` up to the time this request is made.

You can request a backfill once every 24 hours. 

## Request Syntax


```
{
   "BackfillFrom": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [BackfillFrom](#API_StartCostAllocationTagBackfill_RequestSyntax) **   <a name="awscostmanagement-StartCostAllocationTagBackfill-request-BackfillFrom"></a>
 The date you want the backfill to start from. The date can only be a first day of the month (a billing start date). Dates can't precede the previous twelve months, or in the future.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 25.  
Pattern: `^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(([+-]\d\d:\d\d)|Z)$`   
Required: Yes

## Response Syntax


```
{
   "BackfillRequest": { 
      "BackfillFrom": "string",
      "BackfillStatus": "string",
      "CompletedAt": "string",
      "LastUpdatedAt": "string",
      "RequestedAt": "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.

 ** [BackfillRequest](#API_StartCostAllocationTagBackfill_ResponseSyntax) **   <a name="awscostmanagement-StartCostAllocationTagBackfill-response-BackfillRequest"></a>
 An object containing detailed metadata of your new backfill request.   
Type: [CostAllocationTagBackfillRequest](API_CostAllocationTagBackfillRequest.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** BackfillLimitExceededException **   
 A request to backfill is already in progress. Once the previous request is complete, you can create another request.   
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## Examples


The following are sample requests and responses of the `StartCostAllocationTagBackfill` operations.

### Example 1: Successfully request a cost allocation tag backfill


This example illustrates one usage of StartCostAllocationTagBackfill.

#### Sample Request


```
{
    "BackfillFrom": "2024-02-01T00:00:00Z"
}
```

#### Sample Response


```
{
    "BackfillRequest": {
        "BackfillFrom":"2024-02-01T00:00:00Z",
        "BackfillStatus":"PROCESSING",
        "RequestedAt":"2024-03-01T09:16:23Z",
        "LastUpdatedAt":"2024-03-01T09:16:23Z"
    }
}
```

### Example 2: The backfill is skipped because there is no tag status change since the last backfill


The latest successful backfill request is returned instead.

#### Sample Request


```
{
    "BackfillFrom": "2024-02-01T00:00:00Z"
}
```

#### Sample Response


```
{
    "BackfillRequest": {
        "BackfillFrom":"2024-02-01T00:00:00Z",
        "BackfillStatus":"SUCCEEDED",
        "RequestedAt":"2024-03-01T09:16:23Z",
        "LastUpdatedAt":"2024-03-02T06:45:00Z",
        "CompletedAt":"2024-03-02T06:45:00Z"
    }
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/StartCostAllocationTagBackfill) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/StartCostAllocationTagBackfill) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/StartCostAllocationTagBackfill) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/StartCostAllocationTagBackfill) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/StartCostAllocationTagBackfill) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/StartCostAllocationTagBackfill) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/StartCostAllocationTagBackfill) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/StartCostAllocationTagBackfill) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/StartCostAllocationTagBackfill) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/StartCostAllocationTagBackfill) 

# StartSavingsPlansPurchaseRecommendationGeneration


Requests a Savings Plans recommendation generation. This enables you to calculate a fresh set of Savings Plans recommendations that takes your latest usage data and current Savings Plans inventory into account. You can refresh Savings Plans recommendations up to three times daily for a consolidated billing family.

**Note**  
 `StartSavingsPlansPurchaseRecommendationGeneration` has no request syntax because no input parameters are needed to support this operation.

## Response Syntax


```
{
   "EstimatedCompletionTime": "string",
   "GenerationStartedTime": "string",
   "RecommendationId": "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.

 ** [EstimatedCompletionTime](#API_StartSavingsPlansPurchaseRecommendationGeneration_ResponseSyntax) **   <a name="awscostmanagement-StartSavingsPlansPurchaseRecommendationGeneration-response-EstimatedCompletionTime"></a>
The estimated time for when the recommendation generation will complete.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 25.  
Pattern: `^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(([+-]\d\d:\d\d)|Z)$` 

 ** [GenerationStartedTime](#API_StartSavingsPlansPurchaseRecommendationGeneration_ResponseSyntax) **   <a name="awscostmanagement-StartSavingsPlansPurchaseRecommendationGeneration-response-GenerationStartedTime"></a>
The start time of the recommendation generation.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 25.  
Pattern: `^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(([+-]\d\d:\d\d)|Z)$` 

 ** [RecommendationId](#API_StartSavingsPlansPurchaseRecommendationGeneration_ResponseSyntax) **   <a name="awscostmanagement-StartSavingsPlansPurchaseRecommendationGeneration-response-RecommendationId"></a>
The ID for this specific recommendation.  
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `^[\S\s]{8}-[\S\s]{4}-[\S\s]{4}-[\S\s]{4}-[\S\s]{12}$` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** DataUnavailableException **   
The requested data is unavailable.  
HTTP Status Code: 400

 ** GenerationExistsException **   
A request to generate a recommendation or analysis is already in progress.  
HTTP Status Code: 400

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
 You've reached the limit on the number of resources you can create, or exceeded the size of an individual resource.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/StartSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/StartSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/StartSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/StartSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/StartSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/StartSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/StartSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/StartSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/StartSavingsPlansPurchaseRecommendationGeneration) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/StartSavingsPlansPurchaseRecommendationGeneration) 

# TagResource


An API operation for adding one or more tags (key-value pairs) to a resource.

You can use the `TagResource` operation with a resource that already has tags. If you specify a new tag key for the resource, this tag is appended to the list of tags associated with the resource. If you specify a tag key that is already associated with the resource, the new tag value you specify replaces the previous value for that tag.

Although the maximum number of array members is 200, user-tag maximum is 50. The remaining are reserved for Amazon use.

## Request Syntax


```
{
   "ResourceArn": "string",
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_TagResource_RequestSyntax) **   <a name="awscostmanagement-TagResource-request-ResourceArn"></a>
The Amazon Resource Name (ARN) of the resource. For a list of supported resources, see [ResourceTag](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_ResourceTag.html).   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

 ** [ResourceTags](#API_TagResource_RequestSyntax) **   <a name="awscostmanagement-TagResource-request-ResourceTags"></a>
 A list of tag key-value pairs to be added to the resource.  
Each tag consists of a key and a value, and each key must be unique for the resource. The following restrictions apply to resource tags:  
+ Although the maximum number of array members is 200, you can assign a maximum of 50 user-tags to one resource. The remaining are reserved for Amazon use
+ The maximum length of a key is 128 characters
+ The maximum length of a value is 256 characters
+ Keys and values can only contain alphanumeric characters, spaces, and any of the following: `_.:/=+@-` 
+ Keys and values are case sensitive
+ Keys and values are trimmed for any leading or trailing whitespaces
+ Don’t use `aws:` as a prefix for your keys. This prefix is reserved for Amazon use
Type: Array of [ResourceTag](API_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

 ** TooManyTagsException **   
Can occur if you specify a number of tags for a resource greater than the maximum 50 user tags per resource.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/TagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/TagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/TagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/TagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/TagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/TagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/TagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/TagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/TagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/TagResource) 

# UntagResource


Removes one or more tags from a resource. Specify only tag keys in your request. Don't specify the value. 

## Request Syntax


```
{
   "ResourceArn": "string",
   "ResourceTagKeys": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_UntagResource_RequestSyntax) **   <a name="awscostmanagement-UntagResource-request-ResourceArn"></a>
The Amazon Resource Name (ARN) of the resource. For a list of supported resources, see [ResourceTag](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_ResourceTag.html).   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

 ** [ResourceTagKeys](#API_UntagResource_RequestSyntax) **   <a name="awscostmanagement-UntagResource-request-ResourceTagKeys"></a>
A list of tag keys associated with tags that need to be removed from the resource. If you specify a tag key that doesn't exist, it's ignored. Although the maximum number of array members is 200, user-tag maximum is 50. The remaining are reserved for Amazon use.   
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`   
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/UntagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/UntagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/UntagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/UntagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/UntagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/UntagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/UntagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/UntagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/UntagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/UntagResource) 

# UpdateAnomalyMonitor


Updates an existing cost anomaly monitor. The changes made are applied going forward, and doesn't change anomalies detected in the past. 

## Request Syntax


```
{
   "MonitorArn": "string",
   "MonitorName": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MonitorArn](#API_UpdateAnomalyMonitor_RequestSyntax) **   <a name="awscostmanagement-UpdateAnomalyMonitor-request-MonitorArn"></a>
Cost anomaly monitor Amazon Resource Names (ARNs).   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: Yes

 ** [MonitorName](#API_UpdateAnomalyMonitor_RequestSyntax) **   <a name="awscostmanagement-UpdateAnomalyMonitor-request-MonitorName"></a>
The new name for the cost anomaly monitor.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "MonitorArn": "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.

 ** [MonitorArn](#API_UpdateAnomalyMonitor_ResponseSyntax) **   <a name="awscostmanagement-UpdateAnomalyMonitor-response-MonitorArn"></a>
A cost anomaly monitor ARN.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** UnknownMonitorException **   
The cost anomaly monitor does not exist for the account.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/UpdateAnomalyMonitor) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/UpdateAnomalyMonitor) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/UpdateAnomalyMonitor) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/UpdateAnomalyMonitor) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/UpdateAnomalyMonitor) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/UpdateAnomalyMonitor) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/UpdateAnomalyMonitor) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/UpdateAnomalyMonitor) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/UpdateAnomalyMonitor) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/UpdateAnomalyMonitor) 

# UpdateAnomalySubscription


Updates an existing cost anomaly subscription. Specify the fields that you want to update. Omitted fields are unchanged.

**Note**  
The JSON below describes the generic construct for each type. See [Request Parameters](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_UpdateAnomalySubscription.html#API_UpdateAnomalySubscription_RequestParameters) for possible values as they apply to `AnomalySubscription`.

## Request Syntax


```
{
   "Frequency": "string",
   "MonitorArnList": [ "string" ],
   "Subscribers": [ 
      { 
         "Address": "string",
         "Status": "string",
         "Type": "string"
      }
   ],
   "SubscriptionArn": "string",
   "SubscriptionName": "string",
   "Threshold": number,
   "ThresholdExpression": { 
      "And": [ 
         "Expression"
      ],
      "CostCategories": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ],
      "Tags": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      }
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Frequency](#API_UpdateAnomalySubscription_RequestSyntax) **   <a name="awscostmanagement-UpdateAnomalySubscription-request-Frequency"></a>
The update to the frequency value that subscribers receive notifications.   
Type: String  
Valid Values: `DAILY | IMMEDIATE | WEEKLY`   
Required: No

 ** [MonitorArnList](#API_UpdateAnomalySubscription_RequestSyntax) **   <a name="awscostmanagement-UpdateAnomalySubscription-request-MonitorArnList"></a>
A list of cost anomaly monitor ARNs.   
Type: Array of strings  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: No

 ** [Subscribers](#API_UpdateAnomalySubscription_RequestSyntax) **   <a name="awscostmanagement-UpdateAnomalySubscription-request-Subscribers"></a>
The update to the subscriber list.   
Type: Array of [Subscriber](API_Subscriber.md) objects  
Required: No

 ** [SubscriptionArn](#API_UpdateAnomalySubscription_RequestSyntax) **   <a name="awscostmanagement-UpdateAnomalySubscription-request-SubscriptionArn"></a>
A cost anomaly subscription Amazon Resource Name (ARN).   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: Yes

 ** [SubscriptionName](#API_UpdateAnomalySubscription_RequestSyntax) **   <a name="awscostmanagement-UpdateAnomalySubscription-request-SubscriptionName"></a>
The new name of the subscription.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: No

 ** [Threshold](#API_UpdateAnomalySubscription_RequestSyntax) **   <a name="awscostmanagement-UpdateAnomalySubscription-request-Threshold"></a>
(deprecated)  
The update to the threshold value for receiving notifications.   
This field has been deprecated. To update a threshold, use ThresholdExpression. Continued use of Threshold will be treated as shorthand syntax for a ThresholdExpression.  
You can specify either Threshold or ThresholdExpression, but not both.  
Type: Double  
Valid Range: Minimum value of 0.0.  
Required: No

 ** [ThresholdExpression](#API_UpdateAnomalySubscription_RequestSyntax) **   <a name="awscostmanagement-UpdateAnomalySubscription-request-ThresholdExpression"></a>
The update to the [Expression](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_Expression.html) object used to specify the anomalies that you want to generate alerts for. This supports dimensions and nested expressions. The supported dimensions are `ANOMALY_TOTAL_IMPACT_ABSOLUTE` and `ANOMALY_TOTAL_IMPACT_PERCENTAGE`, corresponding to an anomaly’s TotalImpact and TotalImpactPercentage, respectively (see [Impact](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_Impact.html) for more details). The supported nested expression types are `AND` and `OR`. The match option `GREATER_THAN_OR_EQUAL` is required. Values must be numbers between 0 and 10,000,000,000 in string format.  
You can specify either Threshold or ThresholdExpression, but not both.  
The following are examples of valid ThresholdExpressions:  
+ Absolute threshold: `{ "Dimensions": { "Key": "ANOMALY_TOTAL_IMPACT_ABSOLUTE", "MatchOptions": [ "GREATER_THAN_OR_EQUAL" ], "Values": [ "100" ] } }` 
+ Percentage threshold: `{ "Dimensions": { "Key": "ANOMALY_TOTAL_IMPACT_PERCENTAGE", "MatchOptions": [ "GREATER_THAN_OR_EQUAL" ], "Values": [ "100" ] } }` 
+  `AND` two thresholds together: `{ "And": [ { "Dimensions": { "Key": "ANOMALY_TOTAL_IMPACT_ABSOLUTE", "MatchOptions": [ "GREATER_THAN_OR_EQUAL" ], "Values": [ "100" ] } }, { "Dimensions": { "Key": "ANOMALY_TOTAL_IMPACT_PERCENTAGE", "MatchOptions": [ "GREATER_THAN_OR_EQUAL" ], "Values": [ "100" ] } } ] }` 
+  `OR` two thresholds together: `{ "Or": [ { "Dimensions": { "Key": "ANOMALY_TOTAL_IMPACT_ABSOLUTE", "MatchOptions": [ "GREATER_THAN_OR_EQUAL" ], "Values": [ "100" ] } }, { "Dimensions": { "Key": "ANOMALY_TOTAL_IMPACT_PERCENTAGE", "MatchOptions": [ "GREATER_THAN_OR_EQUAL" ], "Values": [ "100" ] } } ] }` 
Type: [Expression](API_Expression.md) object  
Required: No

## Response Syntax


```
{
   "SubscriptionArn": "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.

 ** [SubscriptionArn](#API_UpdateAnomalySubscription_ResponseSyntax) **   <a name="awscostmanagement-UpdateAnomalySubscription-response-SubscriptionArn"></a>
A cost anomaly subscription ARN.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** UnknownMonitorException **   
The cost anomaly monitor does not exist for the account.   
HTTP Status Code: 400

 ** UnknownSubscriptionException **   
The cost anomaly subscription does not exist for the account.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/UpdateAnomalySubscription) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/UpdateAnomalySubscription) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/UpdateAnomalySubscription) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/UpdateAnomalySubscription) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/UpdateAnomalySubscription) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/UpdateAnomalySubscription) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/UpdateAnomalySubscription) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/UpdateAnomalySubscription) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/UpdateAnomalySubscription) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/UpdateAnomalySubscription) 

# UpdateCostAllocationTagsStatus


Updates status for cost allocation tags in bulk, with maximum batch size of 20. If the tag status that's updated is the same as the existing tag status, the request doesn't fail. Instead, it doesn't have any effect on the tag status (for example, activating the active tag). 

## Request Syntax


```
{
   "CostAllocationTagsStatus": [ 
      { 
         "Status": "string",
         "TagKey": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [CostAllocationTagsStatus](#API_UpdateCostAllocationTagsStatus_RequestSyntax) **   <a name="awscostmanagement-UpdateCostAllocationTagsStatus-request-CostAllocationTagsStatus"></a>
The list of `CostAllocationTagStatusEntry` objects that are used to update cost allocation tags status for this request.   
Type: Array of [CostAllocationTagStatusEntry](API_CostAllocationTagStatusEntry.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 20 items.  
Required: Yes

## Response Syntax


```
{
   "Errors": [ 
      { 
         "Code": "string",
         "Message": "string",
         "TagKey": "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](#API_UpdateCostAllocationTagsStatus_ResponseSyntax) **   <a name="awscostmanagement-UpdateCostAllocationTagsStatus-response-Errors"></a>
A list of `UpdateCostAllocationTagsStatusError` objects with error details about each cost allocation tag that can't be updated. If there's no failure, an empty array returns.   
Type: Array of [UpdateCostAllocationTagsStatusError](API_UpdateCostAllocationTagsStatusError.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 20 items.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

## Examples


The following are sample requests and responses of the `UpdateCostAllocationTagsStatus` operations.

### Example 1: Successfully updated all tag status


This example illustrates one usage of UpdateCostAllocationTagsStatus.

#### Sample Request


```
{
    "CostAllocationTagsStatus": [
       {
           "TagKey": "tagA",
           "Status": "Active"
       },
       {
           "TagKey": "tagB",
           "Status": "Inactive"
       }
    ]
}
```

#### Sample Response


```
{
    "Errors": []
}
```

### Example 2: Failed to update one of the tag statuses


This example illustrates one usage of UpdateCostAllocationTagsStatus.

#### Sample Request


```
{
    "CostAllocationTagsStatus": [
       {
           "TagKey": "tagC",
           "Status": "Active"
       },
       {
           "TagKey": "tagD",
           "Status": "Inactive"
       }
    ]
}
```

#### Sample Response


```
{
    "Errors": [ 
        {
            "TagKey": "tagC",
            "Code": "TagKeysNotFoundException",
            "Message": "Failed to update Cost Allocation Tag: tagC"
        }
    ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/UpdateCostAllocationTagsStatus) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/UpdateCostAllocationTagsStatus) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/UpdateCostAllocationTagsStatus) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/UpdateCostAllocationTagsStatus) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/UpdateCostAllocationTagsStatus) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/UpdateCostAllocationTagsStatus) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/UpdateCostAllocationTagsStatus) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/UpdateCostAllocationTagsStatus) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/UpdateCostAllocationTagsStatus) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/UpdateCostAllocationTagsStatus) 

# UpdateCostCategoryDefinition


Updates an existing cost category. Changes made to the cost category rules will be used to categorize the current month’s expenses and future expenses. This won’t change categorization for the previous months.

## Request Syntax


```
{
   "CostCategoryArn": "string",
   "DefaultValue": "string",
   "EffectiveStart": "string",
   "Rules": [ 
      { 
         "InheritedValue": { 
            "DimensionKey": "string",
            "DimensionName": "string"
         },
         "Rule": { 
            "And": [ 
               "Expression"
            ],
            "CostCategories": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            },
            "Dimensions": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            },
            "Not": "Expression",
            "Or": [ 
               "Expression"
            ],
            "Tags": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            }
         },
         "Type": "string",
         "Value": "string"
      }
   ],
   "RuleVersion": "string",
   "SplitChargeRules": [ 
      { 
         "Method": "string",
         "Parameters": [ 
            { 
               "Type": "string",
               "Values": [ "string" ]
            }
         ],
         "Source": "string",
         "Targets": [ "string" ]
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [CostCategoryArn](#API_UpdateCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-UpdateCostCategoryDefinition-request-CostCategoryArn"></a>
The unique identifier for your cost category.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

 ** [DefaultValue](#API_UpdateCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-UpdateCostCategoryDefinition-request-DefaultValue"></a>
The default value for the cost category.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `^(?! )[\p{L}\p{N}\p{Z}-_]*(?<! )$`   
Required: No

 ** [EffectiveStart](#API_UpdateCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-UpdateCostCategoryDefinition-request-EffectiveStart"></a>
The cost category's effective start date. It can only be a billing start date (first day of the month). If the date isn't provided, it's the first day of the current month. Dates can't be before the previous twelve months, or in the future.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 25.  
Pattern: `^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(([+-]\d\d:\d\d)|Z)$`   
Required: No

 ** [Rules](#API_UpdateCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-UpdateCostCategoryDefinition-request-Rules"></a>
The `Expression` object used to categorize costs. For more information, see [CostCategoryRule ](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_CostCategoryRule.html).   
Type: Array of [CostCategoryRule](API_CostCategoryRule.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 500 items.  
Required: Yes

 ** [RuleVersion](#API_UpdateCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-UpdateCostCategoryDefinition-request-RuleVersion"></a>
The rule schema version in this particular cost category.  
Type: String  
Valid Values: `CostCategoryExpression.v1`   
Required: Yes

 ** [SplitChargeRules](#API_UpdateCostCategoryDefinition_RequestSyntax) **   <a name="awscostmanagement-UpdateCostCategoryDefinition-request-SplitChargeRules"></a>
 The split charge rules used to allocate your charges between your cost category values.   
Type: Array of [CostCategorySplitChargeRule](API_CostCategorySplitChargeRule.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 10 items.  
Required: No

## Response Syntax


```
{
   "CostCategoryArn": "string",
   "EffectiveStart": "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.

 ** [CostCategoryArn](#API_UpdateCostCategoryDefinition_ResponseSyntax) **   <a name="awscostmanagement-UpdateCostCategoryDefinition-response-CostCategoryArn"></a>
The unique identifier for your cost category.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+` 

 ** [EffectiveStart](#API_UpdateCostCategoryDefinition_ResponseSyntax) **   <a name="awscostmanagement-UpdateCostCategoryDefinition-response-EffectiveStart"></a>
The cost category's effective start date. It can only be a billing start date (first day of the month).  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 25.  
Pattern: `^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(([+-]\d\d:\d\d)|Z)$` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** LimitExceededException **   
You made too many calls in a short period of time. Try again later.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.   
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
 You've reached the limit on the number of resources you can create, or exceeded the size of an individual resource.   
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/ce-2017-10-25/UpdateCostCategoryDefinition) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/ce-2017-10-25/UpdateCostCategoryDefinition) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/ce-2017-10-25/UpdateCostCategoryDefinition) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/ce-2017-10-25/UpdateCostCategoryDefinition) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/ce-2017-10-25/UpdateCostCategoryDefinition) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/ce-2017-10-25/UpdateCostCategoryDefinition) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/ce-2017-10-25/UpdateCostCategoryDefinition) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/ce-2017-10-25/UpdateCostCategoryDefinition) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/ce-2017-10-25/UpdateCostCategoryDefinition) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/ce-2017-10-25/UpdateCostCategoryDefinition) 

# Amazon Billing and Cost Management Dashboards


The following actions are supported by Amazon Billing and Cost Management Dashboards:
+  [CreateDashboard](API_bcmDashboards_CreateDashboard.md) 
+  [CreateScheduledReport](API_bcmDashboards_CreateScheduledReport.md) 
+  [DeleteDashboard](API_bcmDashboards_DeleteDashboard.md) 
+  [DeleteScheduledReport](API_bcmDashboards_DeleteScheduledReport.md) 
+  [ExecuteScheduledReport](API_bcmDashboards_ExecuteScheduledReport.md) 
+  [GetDashboard](API_bcmDashboards_GetDashboard.md) 
+  [GetResourcePolicy](API_bcmDashboards_GetResourcePolicy.md) 
+  [GetScheduledReport](API_bcmDashboards_GetScheduledReport.md) 
+  [ListDashboards](API_bcmDashboards_ListDashboards.md) 
+  [ListScheduledReports](API_bcmDashboards_ListScheduledReports.md) 
+  [ListTagsForResource](API_bcmDashboards_ListTagsForResource.md) 
+  [TagResource](API_bcmDashboards_TagResource.md) 
+  [UntagResource](API_bcmDashboards_UntagResource.md) 
+  [UpdateDashboard](API_bcmDashboards_UpdateDashboard.md) 
+  [UpdateScheduledReport](API_bcmDashboards_UpdateScheduledReport.md) 

# CreateDashboard


Creates a new dashboard that can contain multiple widgets displaying cost and usage data. You can add custom widgets or use predefined widgets, arranging them in your preferred layout.

## Request Syntax


```
{
   "description": "string",
   "name": "string",
   "resourceTags": [ 
      { 
         "key": "string",
         "value": "string"
      }
   ],
   "widgets": [ 
      { 
         "configs": [ 
            { 
               "displayConfig": { ... },
               "queryParameters": { ... }
            }
         ],
         "description": "string",
         "height": number,
         "horizontalOffset": number,
         "id": "string",
         "title": "string",
         "width": number
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [description](#API_bcmDashboards_CreateDashboard_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_CreateDashboard-request-description"></a>
A description of the dashboard's purpose or contents.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 200.  
Pattern: `(?!.* {2})[ a-zA-Z0-9.,!?;:@#$%&\-_/\\]*`   
Required: No

 ** [name](#API_bcmDashboards_CreateDashboard_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_CreateDashboard-request-name"></a>
The name of the dashboard. The name must be unique within your account.  
Type: String  
Length Constraints: Minimum length of 2. Maximum length of 50.  
Pattern: `(?!.* {2})[a-zA-Z][a-zA-Z0-9 _-]{0,48}[a-zA-Z0-9_-]`   
Required: Yes

 ** [resourceTags](#API_bcmDashboards_CreateDashboard_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_CreateDashboard-request-resourceTags"></a>
The tags to apply to the dashboard resource for organization and management.  
Type: Array of [ResourceTag](API_bcmDashboards_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: No

 ** [widgets](#API_bcmDashboards_CreateDashboard_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_CreateDashboard-request-widgets"></a>
An array of widget configurations that define the visualizations to be displayed in the dashboard. Each dashboard can contain up to 20 widgets.  
Type: Array of [Widget](API_bcmDashboards_Widget.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 20 items.  
Required: Yes

## Response Syntax


```
{
   "arn": "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.

 ** [arn](#API_bcmDashboards_CreateDashboard_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_CreateDashboard-response-arn"></a>
The ARN of the newly created dashboard.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:dashboard/(\*|[-a-z0-9]+)` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.  
HTTP Status Code: 400

 ** InternalServerException **   
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Support.  
HTTP Status Code: 500

 ** ServiceQuotaExceededException **   
The request would exceed a service quota. Review the service quotas for Amazon Billing and Cost Management Dashboards and retry your request.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.  
HTTP Status Code: 400

 ** ValidationException **   
The input parameters do not satisfy the requirements. Check the error message for specific validation details.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-dashboards-2025-08-18/CreateDashboard) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-dashboards-2025-08-18/CreateDashboard) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-dashboards-2025-08-18/CreateDashboard) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-dashboards-2025-08-18/CreateDashboard) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-dashboards-2025-08-18/CreateDashboard) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-dashboards-2025-08-18/CreateDashboard) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-dashboards-2025-08-18/CreateDashboard) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-dashboards-2025-08-18/CreateDashboard) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-dashboards-2025-08-18/CreateDashboard) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-dashboards-2025-08-18/CreateDashboard) 

# CreateScheduledReport


Creates a new scheduled report for a dashboard. A scheduled report automatically generates and delivers dashboard snapshots on a recurring schedule.

## Request Syntax


```
{
   "clientToken": "string",
   "resourceTags": [ 
      { 
         "key": "string",
         "value": "string"
      }
   ],
   "scheduledReport": { 
      "dashboardArn": "string",
      "description": "string",
      "name": "string",
      "scheduleConfig": { 
         "scheduleExpression": "string",
         "scheduleExpressionTimeZone": "string",
         "schedulePeriod": { 
            "endTime": number,
            "startTime": number
         },
         "state": "string"
      },
      "scheduledReportExecutionRoleArn": "string",
      "widgetDateRangeOverride": { 
         "endTime": { 
            "type": "string",
            "value": "string"
         },
         "startTime": { 
            "type": "string",
            "value": "string"
         }
      },
      "widgetIds": [ "string" ]
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [clientToken](#API_bcmDashboards_CreateScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_CreateScheduledReport-request-clientToken"></a>
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\u0021-\u007E]+`   
Required: No

 ** [resourceTags](#API_bcmDashboards_CreateScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_CreateScheduledReport-request-resourceTags"></a>
The tags to apply to the scheduled report resource for organization and management.  
Type: Array of [ResourceTag](API_bcmDashboards_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: No

 ** [scheduledReport](#API_bcmDashboards_CreateScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_CreateScheduledReport-request-scheduledReport"></a>
The configuration for the scheduled report, including the dashboard to report on, the schedule, and the execution role that the service will use to generate the dashboard snapshot.  
Type: [ScheduledReportInput](API_bcmDashboards_ScheduledReportInput.md) object  
Required: Yes

## Response Syntax


```
{
   "arn": "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.

 ** [arn](#API_bcmDashboards_CreateScheduledReport_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_CreateScheduledReport-response-arn"></a>
The ARN of the newly created scheduled report.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:scheduled-report/(\*|[-a-z0-9]+)` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.  
HTTP Status Code: 400

 ** ConflictException **   
The request could not be completed due to a conflict with the current state of the resource. For example, attempting to create a resource that already exists or is being created.  
HTTP Status Code: 400

 ** InternalServerException **   
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Support.  
HTTP Status Code: 500

 ** ServiceQuotaExceededException **   
The request would exceed a service quota. Review the service quotas for Amazon Billing and Cost Management Dashboards and retry your request.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.  
HTTP Status Code: 400

 ** ValidationException **   
The input parameters do not satisfy the requirements. Check the error message for specific validation details.  
HTTP Status Code: 400

## Examples


### To create a scheduled report


The following example creates a scheduled report that runs every Monday at 8:00 AM Pacific Time.

```
{
    "scheduledReport": {
        "name": "weekly-cost-report",
        "dashboardArn": "arn:aws:bcm-dashboards::123456789012:dashboard/cost-dashboard-1",
        "scheduledReportExecutionRoleArn": "arn:aws:iam::123456789012:role/BCMDashboardsScheduledReportRole",
        "scheduleConfig": {
            "scheduleExpression": "cron(0 8 ? * MON *)",
            "scheduleExpressionTimeZone": "America/Los_Angeles",
            "schedulePeriod": {
                "startTime": "2026-04-01T00:00:00Z"
            },
            "state": "ENABLED"
        }
    }
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-dashboards-2025-08-18/CreateScheduledReport) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-dashboards-2025-08-18/CreateScheduledReport) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-dashboards-2025-08-18/CreateScheduledReport) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-dashboards-2025-08-18/CreateScheduledReport) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-dashboards-2025-08-18/CreateScheduledReport) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-dashboards-2025-08-18/CreateScheduledReport) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-dashboards-2025-08-18/CreateScheduledReport) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-dashboards-2025-08-18/CreateScheduledReport) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-dashboards-2025-08-18/CreateScheduledReport) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-dashboards-2025-08-18/CreateScheduledReport) 

# DeleteDashboard


Deletes a specified dashboard. This action cannot be undone.

## Request Syntax


```
{
   "arn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_bcmDashboards_DeleteDashboard_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_DeleteDashboard-request-arn"></a>
The ARN of the dashboard to be deleted.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:dashboard/(\*|[-a-z0-9]+)`   
Required: Yes

## Response Syntax


```
{
   "arn": "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.

 ** [arn](#API_bcmDashboards_DeleteDashboard_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_DeleteDashboard-response-arn"></a>
The ARN of the dashboard that was deleted.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:dashboard/(\*|[-a-z0-9]+)` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.  
HTTP Status Code: 400

 ** InternalServerException **   
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Support.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.  
HTTP Status Code: 400

 ** ValidationException **   
The input parameters do not satisfy the requirements. Check the error message for specific validation details.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-dashboards-2025-08-18/DeleteDashboard) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-dashboards-2025-08-18/DeleteDashboard) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-dashboards-2025-08-18/DeleteDashboard) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-dashboards-2025-08-18/DeleteDashboard) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-dashboards-2025-08-18/DeleteDashboard) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-dashboards-2025-08-18/DeleteDashboard) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-dashboards-2025-08-18/DeleteDashboard) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-dashboards-2025-08-18/DeleteDashboard) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-dashboards-2025-08-18/DeleteDashboard) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-dashboards-2025-08-18/DeleteDashboard) 

# DeleteScheduledReport


Deletes a specified scheduled report. This is an irreversible operation.

## Request Syntax


```
{
   "arn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_bcmDashboards_DeleteScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_DeleteScheduledReport-request-arn"></a>
The ARN of the scheduled report to delete.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:scheduled-report/(\*|[-a-z0-9]+)`   
Required: Yes

## Response Syntax


```
{
   "arn": "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.

 ** [arn](#API_bcmDashboards_DeleteScheduledReport_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_DeleteScheduledReport-response-arn"></a>
The ARN of the scheduled report that was deleted.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:scheduled-report/(\*|[-a-z0-9]+)` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.  
HTTP Status Code: 400

 ** InternalServerException **   
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Support.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.  
HTTP Status Code: 400

 ** ValidationException **   
The input parameters do not satisfy the requirements. Check the error message for specific validation details.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-dashboards-2025-08-18/DeleteScheduledReport) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-dashboards-2025-08-18/DeleteScheduledReport) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-dashboards-2025-08-18/DeleteScheduledReport) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-dashboards-2025-08-18/DeleteScheduledReport) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-dashboards-2025-08-18/DeleteScheduledReport) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-dashboards-2025-08-18/DeleteScheduledReport) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-dashboards-2025-08-18/DeleteScheduledReport) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-dashboards-2025-08-18/DeleteScheduledReport) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-dashboards-2025-08-18/DeleteScheduledReport) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-dashboards-2025-08-18/DeleteScheduledReport) 

# ExecuteScheduledReport


Triggers an immediate execution of a scheduled report, outside of its regular schedule. The scheduled report must be in `ENABLED` state. Calling this operation on a `DISABLED` scheduled report returns a `ValidationException`.

**Note**  
If a `clientToken` is provided, the service uses it for idempotency. Requests with the same client token will not trigger a new execution within the same minute.

## Request Syntax


```
{
   "arn": "string",
   "clientToken": "string",
   "dryRun": boolean
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_bcmDashboards_ExecuteScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_ExecuteScheduledReport-request-arn"></a>
The ARN of the scheduled report to execute.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:scheduled-report/(\*|[-a-z0-9]+)`   
Required: Yes

 ** [clientToken](#API_bcmDashboards_ExecuteScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_ExecuteScheduledReport-request-clientToken"></a>
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\u0021-\u007E]+`   
Required: No

 ** [dryRun](#API_bcmDashboards_ExecuteScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_ExecuteScheduledReport-request-dryRun"></a>
When set to `true`, validates the scheduled report configuration without triggering an actual execution.  
Type: Boolean  
Required: No

## Response Syntax


```
{
   "executionTriggered": boolean,
   "healthStatus": { 
      "lastRefreshedAt": number,
      "statusCode": "string",
      "statusReasons": [ "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.

 ** [executionTriggered](#API_bcmDashboards_ExecuteScheduledReport_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_ExecuteScheduledReport-response-executionTriggered"></a>
Indicates whether the execution was successfully triggered.  
Type: Boolean

 ** [healthStatus](#API_bcmDashboards_ExecuteScheduledReport_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_ExecuteScheduledReport-response-healthStatus"></a>
The health status of the scheduled report after the execution request.  
Type: [HealthStatus](API_bcmDashboards_HealthStatus.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.  
HTTP Status Code: 400

 ** ConflictException **   
The request could not be completed due to a conflict with the current state of the resource. For example, attempting to create a resource that already exists or is being created.  
HTTP Status Code: 400

 ** InternalServerException **   
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Support.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.  
HTTP Status Code: 400

 ** ValidationException **   
The input parameters do not satisfy the requirements. Check the error message for specific validation details.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-dashboards-2025-08-18/ExecuteScheduledReport) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-dashboards-2025-08-18/ExecuteScheduledReport) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-dashboards-2025-08-18/ExecuteScheduledReport) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-dashboards-2025-08-18/ExecuteScheduledReport) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-dashboards-2025-08-18/ExecuteScheduledReport) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-dashboards-2025-08-18/ExecuteScheduledReport) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-dashboards-2025-08-18/ExecuteScheduledReport) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-dashboards-2025-08-18/ExecuteScheduledReport) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-dashboards-2025-08-18/ExecuteScheduledReport) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-dashboards-2025-08-18/ExecuteScheduledReport) 

# GetDashboard


Retrieves the configuration and metadata of a specified dashboard, including its widgets and layout settings.

## Request Syntax


```
{
   "arn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_bcmDashboards_GetDashboard_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_GetDashboard-request-arn"></a>
The ARN of the dashboard to retrieve. This is required to uniquely identify the dashboard.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:dashboard/(\*|[-a-z0-9]+)`   
Required: Yes

## Response Syntax


```
{
   "arn": "string",
   "createdAt": number,
   "description": "string",
   "name": "string",
   "type": "string",
   "updatedAt": number,
   "widgets": [ 
      { 
         "configs": [ 
            { 
               "displayConfig": { ... },
               "queryParameters": { ... }
            }
         ],
         "description": "string",
         "height": number,
         "horizontalOffset": number,
         "id": "string",
         "title": "string",
         "width": 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.

 ** [arn](#API_bcmDashboards_GetDashboard_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_GetDashboard-response-arn"></a>
The ARN of the retrieved dashboard.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:dashboard/(\*|[-a-z0-9]+)` 

 ** [createdAt](#API_bcmDashboards_GetDashboard_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_GetDashboard-response-createdAt"></a>
The timestamp when the dashboard was created.  
Type: Timestamp

 ** [description](#API_bcmDashboards_GetDashboard_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_GetDashboard-response-description"></a>
The description of the retrieved dashboard.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 200.  
Pattern: `(?!.* {2})[ a-zA-Z0-9.,!?;:@#$%&\-_/\\]*` 

 ** [name](#API_bcmDashboards_GetDashboard_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_GetDashboard-response-name"></a>
The name of the retrieved dashboard.  
Type: String  
Length Constraints: Minimum length of 2. Maximum length of 50.  
Pattern: `(?!.* {2})[a-zA-Z][a-zA-Z0-9 _-]{0,48}[a-zA-Z0-9_-]` 

 ** [type](#API_bcmDashboards_GetDashboard_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_GetDashboard-response-type"></a>
Indicates the dashboard type.  
Type: String  
Valid Values: `CUSTOM` 

 ** [updatedAt](#API_bcmDashboards_GetDashboard_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_GetDashboard-response-updatedAt"></a>
The timestamp when the dashboard was last modified.  
Type: Timestamp

 ** [widgets](#API_bcmDashboards_GetDashboard_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_GetDashboard-response-widgets"></a>
An array of widget configurations that make up the dashboard.  
Type: Array of [Widget](API_bcmDashboards_Widget.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 20 items.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.  
HTTP Status Code: 400

 ** InternalServerException **   
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Support.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.  
HTTP Status Code: 400

 ** ValidationException **   
The input parameters do not satisfy the requirements. Check the error message for specific validation details.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-dashboards-2025-08-18/GetDashboard) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-dashboards-2025-08-18/GetDashboard) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-dashboards-2025-08-18/GetDashboard) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-dashboards-2025-08-18/GetDashboard) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-dashboards-2025-08-18/GetDashboard) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-dashboards-2025-08-18/GetDashboard) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-dashboards-2025-08-18/GetDashboard) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-dashboards-2025-08-18/GetDashboard) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-dashboards-2025-08-18/GetDashboard) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-dashboards-2025-08-18/GetDashboard) 

# GetResourcePolicy


Retrieves the resource-based policy attached to a dashboard, showing sharing configurations and permissions.

## Request Syntax


```
{
   "resourceArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [resourceArn](#API_bcmDashboards_GetResourcePolicy_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_GetResourcePolicy-request-resourceArn"></a>
The ARN of the dashboard whose resource-based policy you want to retrieve.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:dashboard/(\*|[-a-z0-9]+)`   
Required: Yes

## Response Syntax


```
{
   "policyDocument": "string",
   "resourceArn": "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.

 ** [policyDocument](#API_bcmDashboards_GetResourcePolicy_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_GetResourcePolicy-response-policyDocument"></a>
The JSON policy document that represents the dashboard's resource-based policy.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*` 

 ** [resourceArn](#API_bcmDashboards_GetResourcePolicy_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_GetResourcePolicy-response-resourceArn"></a>
The ARN of the dashboard for which the resource-based policy was retrieved.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:dashboard/(\*|[-a-z0-9]+)` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.  
HTTP Status Code: 400

 ** InternalServerException **   
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Support.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.  
HTTP Status Code: 400

 ** ValidationException **   
The input parameters do not satisfy the requirements. Check the error message for specific validation details.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-dashboards-2025-08-18/GetResourcePolicy) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-dashboards-2025-08-18/GetResourcePolicy) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-dashboards-2025-08-18/GetResourcePolicy) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-dashboards-2025-08-18/GetResourcePolicy) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-dashboards-2025-08-18/GetResourcePolicy) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-dashboards-2025-08-18/GetResourcePolicy) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-dashboards-2025-08-18/GetResourcePolicy) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-dashboards-2025-08-18/GetResourcePolicy) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-dashboards-2025-08-18/GetResourcePolicy) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-dashboards-2025-08-18/GetResourcePolicy) 

# GetScheduledReport


Retrieves the configuration and metadata of a specified scheduled report.

## Request Syntax


```
{
   "arn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_bcmDashboards_GetScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_GetScheduledReport-request-arn"></a>
The ARN of the scheduled report to retrieve.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:scheduled-report/(\*|[-a-z0-9]+)`   
Required: Yes

## Response Syntax


```
{
   "scheduledReport": { 
      "arn": "string",
      "createdAt": number,
      "dashboardArn": "string",
      "description": "string",
      "healthStatus": { 
         "lastRefreshedAt": number,
         "statusCode": "string",
         "statusReasons": [ "string" ]
      },
      "lastExecutionAt": number,
      "name": "string",
      "scheduleConfig": { 
         "scheduleExpression": "string",
         "scheduleExpressionTimeZone": "string",
         "schedulePeriod": { 
            "endTime": number,
            "startTime": number
         },
         "state": "string"
      },
      "scheduledReportExecutionRoleArn": "string",
      "updatedAt": number,
      "widgetDateRangeOverride": { 
         "endTime": { 
            "type": "string",
            "value": "string"
         },
         "startTime": { 
            "type": "string",
            "value": "string"
         }
      },
      "widgetIds": [ "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.

 ** [scheduledReport](#API_bcmDashboards_GetScheduledReport_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_GetScheduledReport-response-scheduledReport"></a>
The scheduled report configuration and metadata.  
Type: [ScheduledReport](API_bcmDashboards_ScheduledReport.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.  
HTTP Status Code: 400

 ** InternalServerException **   
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Support.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.  
HTTP Status Code: 400

 ** ValidationException **   
The input parameters do not satisfy the requirements. Check the error message for specific validation details.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-dashboards-2025-08-18/GetScheduledReport) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-dashboards-2025-08-18/GetScheduledReport) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-dashboards-2025-08-18/GetScheduledReport) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-dashboards-2025-08-18/GetScheduledReport) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-dashboards-2025-08-18/GetScheduledReport) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-dashboards-2025-08-18/GetScheduledReport) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-dashboards-2025-08-18/GetScheduledReport) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-dashboards-2025-08-18/GetScheduledReport) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-dashboards-2025-08-18/GetScheduledReport) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-dashboards-2025-08-18/GetScheduledReport) 

# ListDashboards


Returns a list of all dashboards in your account.

## Request Syntax


```
{
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [maxResults](#API_bcmDashboards_ListDashboards_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_ListDashboards-request-maxResults"></a>
The maximum number of results to return in a single call. The default value is 20.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [nextToken](#API_bcmDashboards_ListDashboards_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_ListDashboards-request-nextToken"></a>
The token for the next page of results. Use the value returned in the previous response.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "dashboards": [ 
      { 
         "arn": "string",
         "createdAt": number,
         "description": "string",
         "name": "string",
         "type": "string",
         "updatedAt": number
      }
   ],
   "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.

 ** [dashboards](#API_bcmDashboards_ListDashboards_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_ListDashboards-response-dashboards"></a>
An array of dashboard references, containing basic information about each dashboard.  
Type: Array of [DashboardReference](API_bcmDashboards_DashboardReference.md) objects

 ** [nextToken](#API_bcmDashboards_ListDashboards_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_ListDashboards-response-nextToken"></a>
The token to use to retrieve the next page of results. Not returned if there are no more results to retrieve.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 8192.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.  
HTTP Status Code: 400

 ** InternalServerException **   
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Support.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.  
HTTP Status Code: 400

 ** ValidationException **   
The input parameters do not satisfy the requirements. Check the error message for specific validation details.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-dashboards-2025-08-18/ListDashboards) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-dashboards-2025-08-18/ListDashboards) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-dashboards-2025-08-18/ListDashboards) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-dashboards-2025-08-18/ListDashboards) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-dashboards-2025-08-18/ListDashboards) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-dashboards-2025-08-18/ListDashboards) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-dashboards-2025-08-18/ListDashboards) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-dashboards-2025-08-18/ListDashboards) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-dashboards-2025-08-18/ListDashboards) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-dashboards-2025-08-18/ListDashboards) 

# ListScheduledReports


Returns a list of scheduled reports in your account.

## Request Syntax


```
{
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [maxResults](#API_bcmDashboards_ListScheduledReports_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_ListScheduledReports-request-maxResults"></a>
The maximum number of results to return in a single call. Valid range is 1 to 100. The default value is 50.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [nextToken](#API_bcmDashboards_ListScheduledReports_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_ListScheduledReports-request-nextToken"></a>
The token for the next page of results. Use the value returned in the previous response.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "nextToken": "string",
   "scheduledReports": [ 
      { 
         "arn": "string",
         "dashboardArn": "string",
         "healthStatus": { 
            "lastRefreshedAt": number,
            "statusCode": "string",
            "statusReasons": [ "string" ]
         },
         "name": "string",
         "scheduleExpression": "string",
         "scheduleExpressionTimeZone": "string",
         "state": "string",
         "widgetIds": [ "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.

 ** [nextToken](#API_bcmDashboards_ListScheduledReports_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_ListScheduledReports-response-nextToken"></a>
The token to use to retrieve the next page of results. Not returned if there are no more results to retrieve.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [scheduledReports](#API_bcmDashboards_ListScheduledReports_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_ListScheduledReports-response-scheduledReports"></a>
An array of scheduled report summaries, containing basic information about each scheduled report.  
Type: Array of [ScheduledReportSummary](API_bcmDashboards_ScheduledReportSummary.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.  
HTTP Status Code: 400

 ** InternalServerException **   
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Support.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.  
HTTP Status Code: 400

 ** ValidationException **   
The input parameters do not satisfy the requirements. Check the error message for specific validation details.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-dashboards-2025-08-18/ListScheduledReports) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-dashboards-2025-08-18/ListScheduledReports) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-dashboards-2025-08-18/ListScheduledReports) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-dashboards-2025-08-18/ListScheduledReports) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-dashboards-2025-08-18/ListScheduledReports) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-dashboards-2025-08-18/ListScheduledReports) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-dashboards-2025-08-18/ListScheduledReports) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-dashboards-2025-08-18/ListScheduledReports) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-dashboards-2025-08-18/ListScheduledReports) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-dashboards-2025-08-18/ListScheduledReports) 

# ListTagsForResource


Returns a list of all tags associated with a specified dashboard resource.

## Request Syntax


```
{
   "resourceArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [resourceArn](#API_bcmDashboards_ListTagsForResource_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_ListTagsForResource-request-resourceArn"></a>
The unique identifier for the resource.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:(dashboard|scheduled-report)/(\*|[-a-z0-9]+)`   
Required: Yes

## Response Syntax


```
{
   "resourceTags": [ 
      { 
         "key": "string",
         "value": "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.

 ** [resourceTags](#API_bcmDashboards_ListTagsForResource_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_ListTagsForResource-response-resourceTags"></a>
The list of tags associated with the specified dashboard resource.  
Type: Array of [ResourceTag](API_bcmDashboards_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Support.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.  
HTTP Status Code: 400

 ** ValidationException **   
The input parameters do not satisfy the requirements. Check the error message for specific validation details.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-dashboards-2025-08-18/ListTagsForResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-dashboards-2025-08-18/ListTagsForResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-dashboards-2025-08-18/ListTagsForResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-dashboards-2025-08-18/ListTagsForResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-dashboards-2025-08-18/ListTagsForResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-dashboards-2025-08-18/ListTagsForResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-dashboards-2025-08-18/ListTagsForResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-dashboards-2025-08-18/ListTagsForResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-dashboards-2025-08-18/ListTagsForResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-dashboards-2025-08-18/ListTagsForResource) 

# TagResource


Adds or updates tags for a specified dashboard resource.

## Request Syntax


```
{
   "resourceArn": "string",
   "resourceTags": [ 
      { 
         "key": "string",
         "value": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [resourceArn](#API_bcmDashboards_TagResource_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_TagResource-request-resourceArn"></a>
The unique identifier for the resource.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:(dashboard|scheduled-report)/(\*|[-a-z0-9]+)`   
Required: Yes

 ** [resourceTags](#API_bcmDashboards_TagResource_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_TagResource-request-resourceTags"></a>
The tags to add to the dashboard resource.  
Type: Array of [ResourceTag](API_bcmDashboards_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Support.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.  
HTTP Status Code: 400

 ** ValidationException **   
The input parameters do not satisfy the requirements. Check the error message for specific validation details.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-dashboards-2025-08-18/TagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-dashboards-2025-08-18/TagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-dashboards-2025-08-18/TagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-dashboards-2025-08-18/TagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-dashboards-2025-08-18/TagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-dashboards-2025-08-18/TagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-dashboards-2025-08-18/TagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-dashboards-2025-08-18/TagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-dashboards-2025-08-18/TagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-dashboards-2025-08-18/TagResource) 

# UntagResource


Removes specified tags from a dashboard resource.

## Request Syntax


```
{
   "resourceArn": "string",
   "resourceTagKeys": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [resourceArn](#API_bcmDashboards_UntagResource_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UntagResource-request-resourceArn"></a>
The unique identifier for the resource.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:(dashboard|scheduled-report)/(\*|[-a-z0-9]+)`   
Required: Yes

 ** [resourceTagKeys](#API_bcmDashboards_UntagResource_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UntagResource-request-resourceTagKeys"></a>
The keys of the tags to remove from the dashboard resource.  
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\S\s]*`   
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Support.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.  
HTTP Status Code: 400

 ** ValidationException **   
The input parameters do not satisfy the requirements. Check the error message for specific validation details.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-dashboards-2025-08-18/UntagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-dashboards-2025-08-18/UntagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-dashboards-2025-08-18/UntagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-dashboards-2025-08-18/UntagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-dashboards-2025-08-18/UntagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-dashboards-2025-08-18/UntagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-dashboards-2025-08-18/UntagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-dashboards-2025-08-18/UntagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-dashboards-2025-08-18/UntagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-dashboards-2025-08-18/UntagResource) 

# UpdateDashboard


Updates an existing dashboard's properties, including its name, description, and widget configurations.

## Request Syntax


```
{
   "arn": "string",
   "description": "string",
   "name": "string",
   "widgets": [ 
      { 
         "configs": [ 
            { 
               "displayConfig": { ... },
               "queryParameters": { ... }
            }
         ],
         "description": "string",
         "height": number,
         "horizontalOffset": number,
         "id": "string",
         "title": "string",
         "width": number
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_bcmDashboards_UpdateDashboard_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateDashboard-request-arn"></a>
The ARN of the dashboard to update.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:dashboard/(\*|[-a-z0-9]+)`   
Required: Yes

 ** [description](#API_bcmDashboards_UpdateDashboard_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateDashboard-request-description"></a>
The new description for the dashboard.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 200.  
Pattern: `(?!.* {2})[ a-zA-Z0-9.,!?;:@#$%&\-_/\\]*`   
Required: No

 ** [name](#API_bcmDashboards_UpdateDashboard_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateDashboard-request-name"></a>
The new name for the dashboard.  
Type: String  
Length Constraints: Minimum length of 2. Maximum length of 50.  
Pattern: `(?!.* {2})[a-zA-Z][a-zA-Z0-9 _-]{0,48}[a-zA-Z0-9_-]`   
Required: Yes

 ** [widgets](#API_bcmDashboards_UpdateDashboard_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateDashboard-request-widgets"></a>
The updated array of widget configurations for the dashboard. Replaces all existing widgets.  
Type: Array of [Widget](API_bcmDashboards_Widget.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 20 items.  
Required: No

## Response Syntax


```
{
   "arn": "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.

 ** [arn](#API_bcmDashboards_UpdateDashboard_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateDashboard-response-arn"></a>
The ARN of the updated dashboard.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:dashboard/(\*|[-a-z0-9]+)` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.  
HTTP Status Code: 400

 ** InternalServerException **   
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Support.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.  
HTTP Status Code: 400

 ** ValidationException **   
The input parameters do not satisfy the requirements. Check the error message for specific validation details.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-dashboards-2025-08-18/UpdateDashboard) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-dashboards-2025-08-18/UpdateDashboard) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-dashboards-2025-08-18/UpdateDashboard) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-dashboards-2025-08-18/UpdateDashboard) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-dashboards-2025-08-18/UpdateDashboard) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-dashboards-2025-08-18/UpdateDashboard) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-dashboards-2025-08-18/UpdateDashboard) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-dashboards-2025-08-18/UpdateDashboard) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-dashboards-2025-08-18/UpdateDashboard) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-dashboards-2025-08-18/UpdateDashboard) 

# UpdateScheduledReport


Updates an existing scheduled report's properties, including its name, description, schedule configuration, and widget settings. Only the parameters included in the request are updated; all other properties remain unchanged.

## Request Syntax


```
{
   "arn": "string",
   "clearWidgetDateRangeOverride": boolean,
   "clearWidgetIds": boolean,
   "dashboardArn": "string",
   "description": "string",
   "name": "string",
   "scheduleConfig": { 
      "scheduleExpression": "string",
      "scheduleExpressionTimeZone": "string",
      "schedulePeriod": { 
         "endTime": number,
         "startTime": number
      },
      "state": "string"
   },
   "scheduledReportExecutionRoleArn": "string",
   "widgetDateRangeOverride": { 
      "endTime": { 
         "type": "string",
         "value": "string"
      },
      "startTime": { 
         "type": "string",
         "value": "string"
      }
   },
   "widgetIds": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_bcmDashboards_UpdateScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateScheduledReport-request-arn"></a>
The ARN of the scheduled report to update.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:scheduled-report/(\*|[-a-z0-9]+)`   
Required: Yes

 ** [clearWidgetDateRangeOverride](#API_bcmDashboards_UpdateScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateScheduledReport-request-clearWidgetDateRangeOverride"></a>
Set to `true` to clear the existing date range override from the scheduled report.  
Type: Boolean  
Required: No

 ** [clearWidgetIds](#API_bcmDashboards_UpdateScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateScheduledReport-request-clearWidgetIds"></a>
Set to `true` to clear existing widget IDs from the scheduled report.  
Type: Boolean  
Required: No

 ** [dashboardArn](#API_bcmDashboards_UpdateScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateScheduledReport-request-dashboardArn"></a>
The ARN of the dashboard to associate with the scheduled report.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:dashboard/(\*|[-a-z0-9]+)`   
Required: No

 ** [description](#API_bcmDashboards_UpdateScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateScheduledReport-request-description"></a>
The new description for the scheduled report.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 200.  
Pattern: `(?!.* {2})[ a-zA-Z0-9.,!?;:@#$%&\-_/\\]*`   
Required: No

 ** [name](#API_bcmDashboards_UpdateScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateScheduledReport-request-name"></a>
The new name for the scheduled report.  
Type: String  
Length Constraints: Minimum length of 2. Maximum length of 50.  
Pattern: `(?!.* {2})[a-zA-Z][a-zA-Z0-9 _-]{0,48}[a-zA-Z0-9_-]`   
Required: No

 ** [scheduleConfig](#API_bcmDashboards_UpdateScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateScheduledReport-request-scheduleConfig"></a>
The updated schedule configuration for the report.  
Type: [ScheduleConfig](API_bcmDashboards_ScheduleConfig.md) object  
Required: No

 ** [scheduledReportExecutionRoleArn](#API_bcmDashboards_UpdateScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateScheduledReport-request-scheduledReportExecutionRoleArn"></a>
The ARN of the IAM role that the scheduled report uses to execute. Amazon Billing and Cost Management Dashboards will assume this IAM role while executing the scheduled report.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:iam::[0-9]{12}:role/[a-zA-Z0-9+=,.@_/-]+`   
Required: No

 ** [widgetDateRangeOverride](#API_bcmDashboards_UpdateScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateScheduledReport-request-widgetDateRangeOverride"></a>
The date range override to apply to widgets in the scheduled report.  
Type: [DateTimeRange](API_bcmDashboards_DateTimeRange.md) object  
Required: No

 ** [widgetIds](#API_bcmDashboards_UpdateScheduledReport_RequestSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateScheduledReport-request-widgetIds"></a>
The list of widget identifiers to include in the scheduled report. If not specified, all widgets in the dashboard are included.  
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 1 item.  
Required: No

## Response Syntax


```
{
   "arn": "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.

 ** [arn](#API_bcmDashboards_UpdateScheduledReport_ResponseSyntax) **   <a name="awscostmanagement-bcmDashboards_UpdateScheduledReport-response-arn"></a>
The ARN of the updated scheduled report.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-dashboards::[0-9]{12}:scheduled-report/(\*|[-a-z0-9]+)` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.  
HTTP Status Code: 400

 ** ConflictException **   
The request could not be completed due to a conflict with the current state of the resource. For example, attempting to create a resource that already exists or is being created.  
HTTP Status Code: 400

 ** InternalServerException **   
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Support.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.  
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.  
HTTP Status Code: 400

 ** ValidationException **   
The input parameters do not satisfy the requirements. Check the error message for specific validation details.  
HTTP Status Code: 400

## Examples


### To update a scheduled report


The following example updates the name and schedule of a scheduled report.

```
{
    "arn": "arn:aws:bcm-dashboards::123456789012:scheduled-report/report-1",
    "name": "daily-cost-report",
    "scheduleConfig": {
        "scheduleExpression": "cron(0 8 * * ? *)",
        "scheduleExpressionTimeZone": "America/Los_Angeles",
        "schedulePeriod": {
            "startTime": "2026-04-01T00:00:00Z"
        },
        "state": "ENABLED"
    }
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-dashboards-2025-08-18/UpdateScheduledReport) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-dashboards-2025-08-18/UpdateScheduledReport) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-dashboards-2025-08-18/UpdateScheduledReport) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-dashboards-2025-08-18/UpdateScheduledReport) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-dashboards-2025-08-18/UpdateScheduledReport) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-dashboards-2025-08-18/UpdateScheduledReport) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-dashboards-2025-08-18/UpdateScheduledReport) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-dashboards-2025-08-18/UpdateScheduledReport) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-dashboards-2025-08-18/UpdateScheduledReport) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-dashboards-2025-08-18/UpdateScheduledReport) 

# Amazon Data Exports


The following actions are supported by Amazon Data Exports:
+  [CreateExport](API_DataExports_CreateExport.md) 
+  [DeleteExport](API_DataExports_DeleteExport.md) 
+  [GetExecution](API_DataExports_GetExecution.md) 
+  [GetExport](API_DataExports_GetExport.md) 
+  [GetTable](API_DataExports_GetTable.md) 
+  [ListExecutions](API_DataExports_ListExecutions.md) 
+  [ListExports](API_DataExports_ListExports.md) 
+  [ListTables](API_DataExports_ListTables.md) 
+  [ListTagsForResource](API_DataExports_ListTagsForResource.md) 
+  [TagResource](API_DataExports_TagResource.md) 
+  [UntagResource](API_DataExports_UntagResource.md) 
+  [UpdateExport](API_DataExports_UpdateExport.md) 

# CreateExport


Creates a data export and specifies the data query, the delivery preference, and any optional resource tags.

A `DataQuery` consists of both a `QueryStatement` and `TableConfigurations`.

The `QueryStatement` is an SQL statement. Data Exports only supports a limited subset of the SQL syntax. For more information on the SQL syntax that is supported, see [Data query](https://docs.amazonaws.cn/cur/latest/userguide/de-data-query.html). To view the available tables and columns, see the [Data Exports table dictionary](https://docs.amazonaws.cn/cur/latest/userguide/de-table-dictionary.html).

The `TableConfigurations` is a collection of specified `TableProperties` for the table being queried in the `QueryStatement`. TableProperties are additional configurations you can provide to change the data and schema of a table. Each table can have different TableProperties. However, tables are not required to have any TableProperties. Each table property has a default value that it assumes if not specified. For more information on table configurations, see [Data query](https://docs.amazonaws.cn/cur/latest/userguide/de-data-query.html). To view the table properties available for each table, see the [Data Exports table dictionary](https://docs.amazonaws.cn/cur/latest/userguide/de-table-dictionary.html) or use the `ListTables` API to get a response of all tables and their available properties.

## Request Syntax


```
{
   "Export": { 
      "DataQuery": { 
         "QueryStatement": "string",
         "TableConfigurations": { 
            "string" : { 
               "string" : "string" 
            }
         }
      },
      "Description": "string",
      "DestinationConfigurations": { 
         "S3Destination": { 
            "S3Bucket": "string",
            "S3OutputConfigurations": { 
               "Compression": "string",
               "Format": "string",
               "OutputType": "string",
               "Overwrite": "string"
            },
            "S3Prefix": "string",
            "S3Region": "string"
         }
      },
      "ExportArn": "string",
      "Name": "string",
      "RefreshCadence": { 
         "Frequency": "string"
      }
   },
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Export](#API_DataExports_CreateExport_RequestSyntax) **   <a name="awscostmanagement-DataExports_CreateExport-request-Export"></a>
The details of the export, including data query, name, description, and destination configuration.  
Type: [Export](API_DataExports_Export.md) object  
Required: Yes

 ** [ResourceTags](#API_DataExports_CreateExport_RequestSyntax) **   <a name="awscostmanagement-DataExports_CreateExport-request-ResourceTags"></a>
An optional list of tags to associate with the specified export. Each tag consists of a key and a value, and each key must be unique for the resource.  
Type: Array of [ResourceTag](API_DataExports_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: No

## Response Syntax


```
{
   "ExportArn": "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.

 ** [ExportArn](#API_DataExports_CreateExport_ResponseSyntax) **   <a name="awscostmanagement-DataExports_CreateExport-response-ExportArn"></a>
The Amazon Resource Name (ARN) for this export.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[-a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ServiceQuotaExceededException **   
You've reached the limit on the number of resources you can create, or exceeded the size of an individual resource.    
 ** QuotaCode **   
The quota code that was exceeded.  
 ** ResourceId **   
The identifier of the resource that exceeded quota.  
 ** ResourceType **   
The type of the resource that exceeded quota.  
 ** ServiceCode **   
The service code that exceeded quota. It will always be “AWSBillingAndCostManagementDataExports”.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.    
 ** QuotaCode **   
The quota code that exceeded the throttling limit.  
 ** ServiceCode **   
The service code that exceeded the throttling limit. It will always be “AWSBillingAndCostManagementDataExports”.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Fields **   
The list of fields that are invalid.  
 ** Reason **   
The reason for the validation exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the CreateExport operation.


This example illustrates one usage of CreateExport.

#### Sample Request


```
{
    "Export": {
        "Name": "ExampleExportName",
        "Description": "Example Description",
        "DataQuery": {
            "QueryStatement": "SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT",
            "TableConfigurations": {
                "COST_AND_USAGE_REPORT": {
                    "TIME_GRANULARITY": "DAILY",
                    "INCLUDE_RESOURCES": "FALSE",
                    "INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY": "FALSE",
                    "INCLUDE_SPLIT_COST_ALLOCATION_DATA": "FALSE"
                }
            }
        },
        "DestinationConfigurations": {
            "S3Destination": {
                "S3Bucket": "ExampleS3Bucket",
                "S3Prefix": "ExampleS3Prefix",
                "S3Region": "us-east-1",
                "S3OutputConfigurations": {
                    "Overwrite": "OVERWRITE_REPORT",
                    "Format": "TEXT_OR_CSV",
                    "Compression": "GZIP",
                    "OutputType": "CUSTOM"
                }
            }
        },
        "RefreshCadence": {
            "Frequency": "SYNCHRONOUS"
        }
    },
    "ResourceTags": [
        {
            "Key": "YourTagKey",
            "Value": "YourTagValue"
        }
    ]
}
```

### The following is a sample response of the CreateExport operation.


This example illustrates one usage of CreateExport.

#### Sample Response


```
{
    "ExportArn": "arn:aws:bcm-data-exports:::export/Example-b9ac8e7c-6a49-468f-a43e-9ce6b5b051d1"
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-data-exports-2023-11-26/CreateExport) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-data-exports-2023-11-26/CreateExport) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-data-exports-2023-11-26/CreateExport) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-data-exports-2023-11-26/CreateExport) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-data-exports-2023-11-26/CreateExport) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-data-exports-2023-11-26/CreateExport) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-data-exports-2023-11-26/CreateExport) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-data-exports-2023-11-26/CreateExport) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-data-exports-2023-11-26/CreateExport) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-data-exports-2023-11-26/CreateExport) 

# DeleteExport


Deletes an existing data export.

## Request Syntax


```
{
   "ExportArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ExportArn](#API_DataExports_DeleteExport_RequestSyntax) **   <a name="awscostmanagement-DataExports_DeleteExport-request-ExportArn"></a>
The Amazon Resource Name (ARN) for this export.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[-a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

## Response Syntax


```
{
   "ExportArn": "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.

 ** [ExportArn](#API_DataExports_DeleteExport_ResponseSyntax) **   <a name="awscostmanagement-DataExports_DeleteExport-response-ExportArn"></a>
The Amazon Resource Name (ARN) for this export.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[-a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified Amazon Resource Name (ARN) in the request doesn't exist.    
 ** ResourceId **   
The identifier of the resource that was not found.  
 ** ResourceType **   
The type of the resource that was not found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.    
 ** QuotaCode **   
The quota code that exceeded the throttling limit.  
 ** ServiceCode **   
The service code that exceeded the throttling limit. It will always be “AWSBillingAndCostManagementDataExports”.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Fields **   
The list of fields that are invalid.  
 ** Reason **   
The reason for the validation exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the DeleteExport operation.


This example illustrates one usage of DeleteExport.

#### Sample Request


```
{
    "ExportArn": "arn:aws:bcm-data-exports:::export:Example/837fcfce-f85b-4600-b333-b38a12c3a927"
}
```

### The following is a sample response of the DeleteExport operation.


This example illustrates one usage of DeleteExport.

#### Sample Response


```
{
    "ExportArn": "arn:aws:bcm-data-exports:::export:Example/837fcfce-f85b-4600-b333-b38a12c3a927"
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-data-exports-2023-11-26/DeleteExport) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-data-exports-2023-11-26/DeleteExport) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-data-exports-2023-11-26/DeleteExport) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-data-exports-2023-11-26/DeleteExport) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-data-exports-2023-11-26/DeleteExport) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-data-exports-2023-11-26/DeleteExport) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-data-exports-2023-11-26/DeleteExport) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-data-exports-2023-11-26/DeleteExport) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-data-exports-2023-11-26/DeleteExport) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-data-exports-2023-11-26/DeleteExport) 

# GetExecution


Exports data based on the source data update.

## Request Syntax


```
{
   "ExecutionId": "string",
   "ExportArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ExecutionId](#API_DataExports_GetExecution_RequestSyntax) **   <a name="awscostmanagement-DataExports_GetExecution-request-ExecutionId"></a>
The ID for this specific execution.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: Yes

 ** [ExportArn](#API_DataExports_GetExecution_RequestSyntax) **   <a name="awscostmanagement-DataExports_GetExecution-request-ExportArn"></a>
The Amazon Resource Name (ARN) of the Export object that generated this specific execution.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[-a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

## Response Syntax


```
{
   "ExecutionId": "string",
   "ExecutionStatus": { 
      "CompletedAt": "string",
      "CreatedAt": "string",
      "LastUpdatedAt": "string",
      "StatusCode": "string",
      "StatusReason": "string"
   },
   "Export": { 
      "DataQuery": { 
         "QueryStatement": "string",
         "TableConfigurations": { 
            "string" : { 
               "string" : "string" 
            }
         }
      },
      "Description": "string",
      "DestinationConfigurations": { 
         "S3Destination": { 
            "S3Bucket": "string",
            "S3OutputConfigurations": { 
               "Compression": "string",
               "Format": "string",
               "OutputType": "string",
               "Overwrite": "string"
            },
            "S3Prefix": "string",
            "S3Region": "string"
         }
      },
      "ExportArn": "string",
      "Name": "string",
      "RefreshCadence": { 
         "Frequency": "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.

 ** [ExecutionId](#API_DataExports_GetExecution_ResponseSyntax) **   <a name="awscostmanagement-DataExports_GetExecution-response-ExecutionId"></a>
The ID for this specific execution.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*` 

 ** [ExecutionStatus](#API_DataExports_GetExecution_ResponseSyntax) **   <a name="awscostmanagement-DataExports_GetExecution-response-ExecutionStatus"></a>
The status of this specific execution.  
Type: [ExecutionStatus](API_DataExports_ExecutionStatus.md) object

 ** [Export](#API_DataExports_GetExecution_ResponseSyntax) **   <a name="awscostmanagement-DataExports_GetExecution-response-Export"></a>
The export data for this specific execution. This export data is a snapshot from when the execution was generated. The data could be different from the current export data if the export was updated since the execution was generated.  
Type: [Export](API_DataExports_Export.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified Amazon Resource Name (ARN) in the request doesn't exist.    
 ** ResourceId **   
The identifier of the resource that was not found.  
 ** ResourceType **   
The type of the resource that was not found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.    
 ** QuotaCode **   
The quota code that exceeded the throttling limit.  
 ** ServiceCode **   
The service code that exceeded the throttling limit. It will always be “AWSBillingAndCostManagementDataExports”.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Fields **   
The list of fields that are invalid.  
 ** Reason **   
The reason for the validation exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the GetExecution operation.


This example illustrates one usage of GetExecution.

#### Sample Request


```
{
 "ExportArn": "arn:aws:bcm-data-exports:::export:Example/837fcfce-f85b-4600-b333-b38a12c3a927",
 "ExecutionId": "8ae3fbeb-fbeb-4048-bb39-f7c6c7e80c21"
}
```

### The following is a sample response of the GetExecution operation.


This example illustrates one usage of GetExecution.

#### Sample Response


```
{
    "ExecutionId": "f0cfeaf0-c552-47e7-82bc-0107fbfc7a8b",
    "ExecutionStatus": {
        "CreatedAt": "2023-11-14T18:14:12.813Z",
        "LastUpdatedAt": "2023-11-14T18:18:14.252556820Z",
        "StatusCode": "DELIVERY_SUCCESS"
    },
    "Export": {
        "Name": "ExampleExportName",
        "Description": "Example Description",
        "DataQuery": {
            "QueryStatement": "SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT",
            "TableConfigurations": {
                "COST_AND_USAGE_REPORT": {
                    "TIME_GRANULARITY": "DAILY",
                    "INCLUDE_RESOURCES": "FALSE",
                    "INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY": "FALSE",
                    "INCLUDE_SPLIT_COST_ALLOCATION_DATA": "FALSE"
                }
            }
        },
        "DestinationConfigurations": {
            "S3Destination": {
                "S3Bucket": "ExampleS3Bucket",
                "S3Prefix": "ExampleS3Prefix",
                "S3Region": "us-east-1",
                "S3OutputConfigurations": {
                    "Overwrite": "OVERWRITE_REPORT",
                    "Format": "TEXT_OR_CSV",
                    "Compression": "GZIP",
                    "OutputType": "CUSTOM"
                }
            }
        },
        "RefreshCadence": {
            "Frequency": "SYNCHRONOUS"
        }
    }
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-data-exports-2023-11-26/GetExecution) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-data-exports-2023-11-26/GetExecution) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-data-exports-2023-11-26/GetExecution) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-data-exports-2023-11-26/GetExecution) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-data-exports-2023-11-26/GetExecution) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-data-exports-2023-11-26/GetExecution) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-data-exports-2023-11-26/GetExecution) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-data-exports-2023-11-26/GetExecution) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-data-exports-2023-11-26/GetExecution) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-data-exports-2023-11-26/GetExecution) 

# GetExport


Views the definition of an existing data export.

## Request Syntax


```
{
   "ExportArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ExportArn](#API_DataExports_GetExport_RequestSyntax) **   <a name="awscostmanagement-DataExports_GetExport-request-ExportArn"></a>
The Amazon Resource Name (ARN) for this export.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[-a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

## Response Syntax


```
{
   "Export": { 
      "DataQuery": { 
         "QueryStatement": "string",
         "TableConfigurations": { 
            "string" : { 
               "string" : "string" 
            }
         }
      },
      "Description": "string",
      "DestinationConfigurations": { 
         "S3Destination": { 
            "S3Bucket": "string",
            "S3OutputConfigurations": { 
               "Compression": "string",
               "Format": "string",
               "OutputType": "string",
               "Overwrite": "string"
            },
            "S3Prefix": "string",
            "S3Region": "string"
         }
      },
      "ExportArn": "string",
      "Name": "string",
      "RefreshCadence": { 
         "Frequency": "string"
      }
   },
   "ExportStatus": { 
      "CreatedAt": "string",
      "LastRefreshedAt": "string",
      "LastUpdatedAt": "string",
      "StatusCode": "string",
      "StatusReason": "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.

 ** [Export](#API_DataExports_GetExport_ResponseSyntax) **   <a name="awscostmanagement-DataExports_GetExport-response-Export"></a>
The data for this specific export.  
Type: [Export](API_DataExports_Export.md) object

 ** [ExportStatus](#API_DataExports_GetExport_ResponseSyntax) **   <a name="awscostmanagement-DataExports_GetExport-response-ExportStatus"></a>
The status of this specific export.  
Type: [ExportStatus](API_DataExports_ExportStatus.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified Amazon Resource Name (ARN) in the request doesn't exist.    
 ** ResourceId **   
The identifier of the resource that was not found.  
 ** ResourceType **   
The type of the resource that was not found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.    
 ** QuotaCode **   
The quota code that exceeded the throttling limit.  
 ** ServiceCode **   
The service code that exceeded the throttling limit. It will always be “AWSBillingAndCostManagementDataExports”.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Fields **   
The list of fields that are invalid.  
 ** Reason **   
The reason for the validation exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the GetExport operation.


This example illustrates one usage of GetExport.

#### Sample Request


```
{
    "ExportArn": "arn:aws:bcm-data-exports:::export:Example/837fcfce-f85b-4600-b333-b38a12c3a927"
}
```

### The following is a sample response of the GetExport operation.


This example illustrates one usage of GetExport.

#### Sample Response


```
{
    "Export": {
        "Name": "ExampleExportName",
        "Description": "Example Description",
        "DataQuery": {
            "QueryStatement": "SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT",
            "TableConfigurations": {
                "COST_AND_USAGE_REPORT": {
                    "TIME_GRANULARITY": "DAILY",
                    "INCLUDE_RESOURCES": "FALSE",
                    "INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY": "FALSE",
                    "INCLUDE_SPLIT_COST_ALLOCATION_DATA": "FALSE"
                }
            }
        },
        "DestinationConfigurations": {
            "S3Destination": {
                "S3Bucket": "ExampleS3Bucket",
                "S3Prefix": "ExampleS3Prefix",
                "S3Region": "us-east-1",
                "S3OutputConfigurations": {
                    "Overwrite": "OVERWRITE_REPORT",
                    "Format": "TEXT_OR_CSV",
                    "Compression": "GZIP",
                    "OutputType": "CUSTOM"
                }
            }
        },
        "RefreshCadence": {
            "Frequency": "SYNCHRONOUS"
        }
    },
    "ExportStatus": {
        "CreatedAt": "2023-11-14T18:02:02.371Z",
        "LastRefreshedAt": "2023-11-14T18:18:12.592Z",
        "LastUpdatedAt": "2023-11-14T18:02:02.371Z",
        "StatusCode": "HEALTHY"
    }
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-data-exports-2023-11-26/GetExport) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-data-exports-2023-11-26/GetExport) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-data-exports-2023-11-26/GetExport) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-data-exports-2023-11-26/GetExport) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-data-exports-2023-11-26/GetExport) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-data-exports-2023-11-26/GetExport) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-data-exports-2023-11-26/GetExport) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-data-exports-2023-11-26/GetExport) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-data-exports-2023-11-26/GetExport) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-data-exports-2023-11-26/GetExport) 

# GetTable


Returns the metadata for the specified table and table properties. This includes the list of columns in the table schema, their data types, and column descriptions.

## Request Syntax


```
{
   "TableName": "string",
   "TableProperties": { 
      "string" : "string" 
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [TableName](#API_DataExports_GetTable_RequestSyntax) **   <a name="awscostmanagement-DataExports_GetTable-request-TableName"></a>
The name of the table.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*`   
Required: Yes

 ** [TableProperties](#API_DataExports_GetTable_RequestSyntax) **   <a name="awscostmanagement-DataExports_GetTable-request-TableProperties"></a>
TableProperties are additional configurations you can provide to change the data and schema of a table. Each table can have different TableProperties. Tables are not required to have any TableProperties. Each table property has a default value that it assumes if not specified.  
Type: String to string map  
Key Length Constraints: Minimum length of 0. Maximum length of 1024.  
Key Pattern: `[\S\s]*`   
Value Length Constraints: Minimum length of 0. Maximum length of 1024.  
Value Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "Description": "string",
   "Schema": [ 
      { 
         "Description": "string",
         "Name": "string",
         "Type": "string"
      }
   ],
   "TableName": "string",
   "TableProperties": { 
      "string" : "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.

 ** [Description](#API_DataExports_GetTable_ResponseSyntax) **   <a name="awscostmanagement-DataExports_GetTable-response-Description"></a>
The table description.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*` 

 ** [Schema](#API_DataExports_GetTable_ResponseSyntax) **   <a name="awscostmanagement-DataExports_GetTable-response-Schema"></a>
The schema of the table.  
Type: Array of [Column](API_DataExports_Column.md) objects

 ** [TableName](#API_DataExports_GetTable_ResponseSyntax) **   <a name="awscostmanagement-DataExports_GetTable-response-TableName"></a>
The name of the table.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*` 

 ** [TableProperties](#API_DataExports_GetTable_ResponseSyntax) **   <a name="awscostmanagement-DataExports_GetTable-response-TableProperties"></a>
TableProperties are additional configurations you can provide to change the data and schema of a table. Each table can have different TableProperties. Tables are not required to have any TableProperties. Each table property has a default value that it assumes if not specified.  
Type: String to string map  
Key Length Constraints: Minimum length of 0. Maximum length of 1024.  
Key Pattern: `[\S\s]*`   
Value Length Constraints: Minimum length of 0. Maximum length of 1024.  
Value Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.    
 ** QuotaCode **   
The quota code that exceeded the throttling limit.  
 ** ServiceCode **   
The service code that exceeded the throttling limit. It will always be “AWSBillingAndCostManagementDataExports”.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Fields **   
The list of fields that are invalid.  
 ** Reason **   
The reason for the validation exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the GetTable operation.


This example illustrates one usage of GetTable.

#### Sample Request


```
{
    "TableName": "COST_AND_USAGE_REPORT",
    "TableProperties": {
    }
}
```

### The following is a sample response of the GetTable operation.


This example illustrates one usage of GetTable.

#### Sample Response


```
{
    "Description": "Cost and Usage Report",
    "Schema": [
        {
            "Description": "This field is generated for each line item and is unique in a given partition. This does not guarantee that the field will be unique across an entire delivery (that is, all partitions in an update) of the AWS CUR. The line item ID isn't consistent between different Cost and Usage Reports and can't be used to identify the same line item across different reports.",
            "Name": "identity_line_item_id",
            "Type": "String"
        },
        {
            "Description": "The time interval that this line item applies to, in the following format: YYYY-MM-DDTHH:mm:ssZ/YYYY-MM-DDTHH:mm:ssZ. The time interval is in UTC and can be either daily or hourly, depending on the granularity of the report.",
            "Name": "identity_time_interval",
            "Type": "String"
        },
        {
            "Description": "The ID associated with a specific line item. Until the report is final, the InvoiceId is blank.",
            "Name": "bill_invoice_id",
            "Type": "String"
        }
    ],
    "TableName": "COST_AND_USAGE_REPORT",
    "TableProperties": {
        "INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY": "FALSE",
        "INCLUDE_RESOURCES": "FALSE",
        "INCLUDE_SPLIT_COST_ALLOCATION_DATA": "FALSE",
        "TIME_GRANULARITY": "HOURLY"
    }
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-data-exports-2023-11-26/GetTable) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-data-exports-2023-11-26/GetTable) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-data-exports-2023-11-26/GetTable) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-data-exports-2023-11-26/GetTable) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-data-exports-2023-11-26/GetTable) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-data-exports-2023-11-26/GetTable) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-data-exports-2023-11-26/GetTable) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-data-exports-2023-11-26/GetTable) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-data-exports-2023-11-26/GetTable) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-data-exports-2023-11-26/GetTable) 

# ListExecutions


Lists the historical executions for the export.

## Request Syntax


```
{
   "ExportArn": "string",
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ExportArn](#API_DataExports_ListExecutions_RequestSyntax) **   <a name="awscostmanagement-DataExports_ListExecutions-request-ExportArn"></a>
The Amazon Resource Name (ARN) for this export.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[-a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

 ** [MaxResults](#API_DataExports_ListExecutions_RequestSyntax) **   <a name="awscostmanagement-DataExports_ListExecutions-request-MaxResults"></a>
The maximum number of objects that are returned for the request.  
Type: Integer  
Valid Range: Minimum value of 1.  
Required: No

 ** [NextToken](#API_DataExports_ListExecutions_RequestSyntax) **   <a name="awscostmanagement-DataExports_ListExecutions-request-NextToken"></a>
The token to retrieve the next set of results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "Executions": [ 
      { 
         "ExecutionId": "string",
         "ExecutionStatus": { 
            "CompletedAt": "string",
            "CreatedAt": "string",
            "LastUpdatedAt": "string",
            "StatusCode": "string",
            "StatusReason": "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.

 ** [Executions](#API_DataExports_ListExecutions_ResponseSyntax) **   <a name="awscostmanagement-DataExports_ListExecutions-response-Executions"></a>
The list of executions.  
Type: Array of [ExecutionReference](API_DataExports_ExecutionReference.md) objects

 ** [NextToken](#API_DataExports_ListExecutions_ResponseSyntax) **   <a name="awscostmanagement-DataExports_ListExecutions-response-NextToken"></a>
The token to retrieve the next set of results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified Amazon Resource Name (ARN) in the request doesn't exist.    
 ** ResourceId **   
The identifier of the resource that was not found.  
 ** ResourceType **   
The type of the resource that was not found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.    
 ** QuotaCode **   
The quota code that exceeded the throttling limit.  
 ** ServiceCode **   
The service code that exceeded the throttling limit. It will always be “AWSBillingAndCostManagementDataExports”.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Fields **   
The list of fields that are invalid.  
 ** Reason **   
The reason for the validation exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the ListExecutions operation.


This example illustrates one usage of ListExecutions.

#### Sample Request


```
{
  "ExportArn": "arn:aws:bcm-data-exports:::export:Example/837fcfce-f85b-4600-b333-b38a12c3a927",
  "MaxResults": 100,
  "NextToken": ""
}
```

### The following is a sample response of the ListExecutions operation.


This example illustrates one usage of ListExecutions.

#### Sample Response


```
{
    "Executions": [
        {
            "ExecutionId": "f0cfeaf0-c552-47e7-82bc-0107fbfc7a8b",
            "ExecutionStatus": {
                "CreatedAt": "2023-11-14T18:14:12.813Z",
                "LastUpdatedAt": "2023-11-14T18:18:14.252556820Z",
                "StatusCode": "DELIVERY_SUCCESS"
            }
        },
        {
            "ExecutionId": "2c173333-4b14-4740-98a1-d52304eced2d",
            "ExecutionStatus": {
                "CreatedAt": "2023-11-14T09:20:47.137Z",
                "LastUpdatedAt": "2023-11-14T09:53:48.285265457Z",
                "StatusCode": "DELIVERY_SUCCESS"
            }
        }
    ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-data-exports-2023-11-26/ListExecutions) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-data-exports-2023-11-26/ListExecutions) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-data-exports-2023-11-26/ListExecutions) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-data-exports-2023-11-26/ListExecutions) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-data-exports-2023-11-26/ListExecutions) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-data-exports-2023-11-26/ListExecutions) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-data-exports-2023-11-26/ListExecutions) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-data-exports-2023-11-26/ListExecutions) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-data-exports-2023-11-26/ListExecutions) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-data-exports-2023-11-26/ListExecutions) 

# ListExports


Lists all data export definitions.

## Request Syntax


```
{
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_DataExports_ListExports_RequestSyntax) **   <a name="awscostmanagement-DataExports_ListExports-request-MaxResults"></a>
The maximum number of objects that are returned for the request.  
Type: Integer  
Valid Range: Minimum value of 1.  
Required: No

 ** [NextToken](#API_DataExports_ListExports_RequestSyntax) **   <a name="awscostmanagement-DataExports_ListExports-request-NextToken"></a>
The token to retrieve the next set of results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "Exports": [ 
      { 
         "ExportArn": "string",
         "ExportName": "string",
         "ExportStatus": { 
            "CreatedAt": "string",
            "LastRefreshedAt": "string",
            "LastUpdatedAt": "string",
            "StatusCode": "string",
            "StatusReason": "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.

 ** [Exports](#API_DataExports_ListExports_ResponseSyntax) **   <a name="awscostmanagement-DataExports_ListExports-response-Exports"></a>
The details of the exports, including name and export status.  
Type: Array of [ExportReference](API_DataExports_ExportReference.md) objects

 ** [NextToken](#API_DataExports_ListExports_ResponseSyntax) **   <a name="awscostmanagement-DataExports_ListExports-response-NextToken"></a>
The token to retrieve the next set of results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.    
 ** QuotaCode **   
The quota code that exceeded the throttling limit.  
 ** ServiceCode **   
The service code that exceeded the throttling limit. It will always be “AWSBillingAndCostManagementDataExports”.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Fields **   
The list of fields that are invalid.  
 ** Reason **   
The reason for the validation exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the ListExports operation.


This example illustrates one usage of ListExports.

#### Sample Request


```
{
    "MaxResults": 100,
    "NextToken": ""
}
```

### The following is a sample response of the ListExports operation.


This example illustrates one usage of ListExports.

#### Sample Response


```
{
    "Exports": [
        {
            "ExportArn": "arn:aws:bcm-data-exports:::export:Example/837fcfce-f85b-4600-b333-b38a12c3a927",
            "ExportName": "ExampleExportName1",
            "ExportStatus": {
                "CreatedAt": "2023-11-14T18:02:02.371Z",
                "LastRefreshedAt": "2023-11-14T18:18:12.592Z",
                "LastUpdatedAt": "2023-11-14T18:02:02.371Z",
                "StatusCode": "HEALTHY"
            }
        },
        {
            "ExportArn": "arn:aws:bcm-data-exports:::export:Example/837fcfce-f85b-4600-b333-b38a12c3a927",
            "ExportName": "ExampleExportName2",
            "ExportStatus": {
                "CreatedAt": "2023-11-14T18:03:02.038Z",
                "LastRefreshedAt": "2023-11-14T18:18:12.629Z",
                "LastUpdatedAt": "2023-11-14T18:03:02.038Z",
                "StatusCode": "UNHEALTHY"
            }
        }
    ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-data-exports-2023-11-26/ListExports) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-data-exports-2023-11-26/ListExports) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-data-exports-2023-11-26/ListExports) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-data-exports-2023-11-26/ListExports) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-data-exports-2023-11-26/ListExports) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-data-exports-2023-11-26/ListExports) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-data-exports-2023-11-26/ListExports) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-data-exports-2023-11-26/ListExports) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-data-exports-2023-11-26/ListExports) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-data-exports-2023-11-26/ListExports) 

# ListTables


Lists all available tables in data exports.

## Request Syntax


```
{
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_DataExports_ListTables_RequestSyntax) **   <a name="awscostmanagement-DataExports_ListTables-request-MaxResults"></a>
The maximum number of objects that are returned for the request.  
Type: Integer  
Valid Range: Minimum value of 1.  
Required: No

 ** [NextToken](#API_DataExports_ListTables_RequestSyntax) **   <a name="awscostmanagement-DataExports_ListTables-request-NextToken"></a>
The token to retrieve the next set of results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "NextToken": "string",
   "Tables": [ 
      { 
         "Description": "string",
         "TableName": "string",
         "TableProperties": [ 
            { 
               "DefaultValue": "string",
               "Description": "string",
               "Name": "string",
               "ValidValues": [ "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.

 ** [NextToken](#API_DataExports_ListTables_ResponseSyntax) **   <a name="awscostmanagement-DataExports_ListTables-response-NextToken"></a>
The token to retrieve the next set of results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [Tables](#API_DataExports_ListTables_ResponseSyntax) **   <a name="awscostmanagement-DataExports_ListTables-response-Tables"></a>
The list of tables.  
Type: Array of [Table](API_DataExports_Table.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.    
 ** QuotaCode **   
The quota code that exceeded the throttling limit.  
 ** ServiceCode **   
The service code that exceeded the throttling limit. It will always be “AWSBillingAndCostManagementDataExports”.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Fields **   
The list of fields that are invalid.  
 ** Reason **   
The reason for the validation exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the ListTables operation.


This example illustrates one usage of ListTables.

#### Sample Request


```
{
    "MaxResults": 100,
    "NextToken": ""
}
```

### The following is a sample response of the ListTables operation.


This example illustrates one usage of ListTables.

#### Sample Response


```
{
    "Tables": [
        {
            "Description": "A view over CUR for CostAndUsageDashboard",
            "TableName": "COST_AND_USAGE_DASHBOARD",
            "TableProperties": [
                {}
            ]
        },
        {
            "Description": "Cost and Usage Report",
            "TableName": "COST_AND_USAGE_REPORT",
            "TableProperties": [
                {
                    "DefaultValue": "HOURLY",
                    "Description": "The granularity of the line-items in the table.",
                    "Name": "TIME_GRANULARITY",
                    "ValidValues": [
                        "DAILY",
                        "MONTHLY",
                        "HOURLY"
                    ]
                },
                {
                    "DefaultValue": "FALSE",
                    "Description": "Whether to simulate manual discounts for automated discount data.",
                    "Name": "INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY",
                    "ValidValues": [
                        "TRUE",
                        "FALSE"
                    ]
                },
                {
                    "DefaultValue": "FALSE",
                    "Description": "Whether to include fission columns.",
                    "Name": "INCLUDE_SPLIT_COST_ALLOCATION_DATA",
                    "ValidValues": [
                        "TRUE",
                        "FALSE"
                    ]
                },
                {
                    "DefaultValue": "FALSE",
                    "Description": "Whether to include resource IDs on line items.",
                    "Name": "INCLUDE_RESOURCES",
                    "ValidValues": [
                        "TRUE",
                        "FALSE"
                    ]
                }
            ]
        }
    ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-data-exports-2023-11-26/ListTables) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-data-exports-2023-11-26/ListTables) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-data-exports-2023-11-26/ListTables) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-data-exports-2023-11-26/ListTables) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-data-exports-2023-11-26/ListTables) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-data-exports-2023-11-26/ListTables) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-data-exports-2023-11-26/ListTables) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-data-exports-2023-11-26/ListTables) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-data-exports-2023-11-26/ListTables) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-data-exports-2023-11-26/ListTables) 

# ListTagsForResource


List tags associated with an existing data export.

## Request Syntax


```
{
   "MaxResults": number,
   "NextToken": "string",
   "ResourceArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_DataExports_ListTagsForResource_RequestSyntax) **   <a name="awscostmanagement-DataExports_ListTagsForResource-request-MaxResults"></a>
The maximum number of objects that are returned for the request.  
Type: Integer  
Valid Range: Minimum value of 1.  
Required: No

 ** [NextToken](#API_DataExports_ListTagsForResource_RequestSyntax) **   <a name="awscostmanagement-DataExports_ListTagsForResource-request-NextToken"></a>
The token to retrieve the next set of results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

 ** [ResourceArn](#API_DataExports_ListTagsForResource_RequestSyntax) **   <a name="awscostmanagement-DataExports_ListTagsForResource-request-ResourceArn"></a>
The unique identifier for the resource.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[-a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

## Response Syntax


```
{
   "NextToken": "string",
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "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.

 ** [NextToken](#API_DataExports_ListTagsForResource_ResponseSyntax) **   <a name="awscostmanagement-DataExports_ListTagsForResource-response-NextToken"></a>
The token to retrieve the next set of results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [ResourceTags](#API_DataExports_ListTagsForResource_ResponseSyntax) **   <a name="awscostmanagement-DataExports_ListTagsForResource-response-ResourceTags"></a>
An optional list of tags to associate with the specified export. Each tag consists of a key and a value, and each key must be unique for the resource.  
Type: Array of [ResourceTag](API_DataExports_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified Amazon Resource Name (ARN) in the request doesn't exist.    
 ** ResourceId **   
The identifier of the resource that was not found.  
 ** ResourceType **   
The type of the resource that was not found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.    
 ** QuotaCode **   
The quota code that exceeded the throttling limit.  
 ** ServiceCode **   
The service code that exceeded the throttling limit. It will always be “AWSBillingAndCostManagementDataExports”.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Fields **   
The list of fields that are invalid.  
 ** Reason **   
The reason for the validation exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the ListTagsForResource operation.


This example illustrates one usage of ListTagsForResource.

#### Sample Request


```
{
  "ResourceArn": "arn:aws:bcm-data-exports:::export:Example/837fcfce-f85b-4600-b333-b38a12c3a927"
}
```

### The following is a sample response of the ListTagsForResource operation.


This example illustrates one usage of ListTagsForResource.

#### Sample Response


```
{
  "ResourceTags": [
    {
      "Key": "YourTagKey",
      "Value": "YourTagValue"
    }
  ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-data-exports-2023-11-26/ListTagsForResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-data-exports-2023-11-26/ListTagsForResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-data-exports-2023-11-26/ListTagsForResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-data-exports-2023-11-26/ListTagsForResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-data-exports-2023-11-26/ListTagsForResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-data-exports-2023-11-26/ListTagsForResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-data-exports-2023-11-26/ListTagsForResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-data-exports-2023-11-26/ListTagsForResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-data-exports-2023-11-26/ListTagsForResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-data-exports-2023-11-26/ListTagsForResource) 

# TagResource


Adds tags for an existing data export definition.

## Request Syntax


```
{
   "ResourceArn": "string",
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_DataExports_TagResource_RequestSyntax) **   <a name="awscostmanagement-DataExports_TagResource-request-ResourceArn"></a>
The unique identifier for the resource.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[-a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

 ** [ResourceTags](#API_DataExports_TagResource_RequestSyntax) **   <a name="awscostmanagement-DataExports_TagResource-request-ResourceTags"></a>
The tags to associate with the resource. Each tag consists of a key and a value, and each key must be unique for the resource.  
Type: Array of [ResourceTag](API_DataExports_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified Amazon Resource Name (ARN) in the request doesn't exist.    
 ** ResourceId **   
The identifier of the resource that was not found.  
 ** ResourceType **   
The type of the resource that was not found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.    
 ** QuotaCode **   
The quota code that exceeded the throttling limit.  
 ** ServiceCode **   
The service code that exceeded the throttling limit. It will always be “AWSBillingAndCostManagementDataExports”.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Fields **   
The list of fields that are invalid.  
 ** Reason **   
The reason for the validation exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the TagResource operation.


This example illustrates one usage of TagResource.

#### Sample Request


```
{
  "ResourceArn": "arn:aws:bcm-data-exports:::export:Example/837fcfce-f85b-4600-b333-b38a12c3a927",
  "ResourceTags": [
    {
      "Key": "YourTagKey",
      "Value": "YourTagValue"
    }
  ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-data-exports-2023-11-26/TagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-data-exports-2023-11-26/TagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-data-exports-2023-11-26/TagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-data-exports-2023-11-26/TagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-data-exports-2023-11-26/TagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-data-exports-2023-11-26/TagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-data-exports-2023-11-26/TagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-data-exports-2023-11-26/TagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-data-exports-2023-11-26/TagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-data-exports-2023-11-26/TagResource) 

# UntagResource


Deletes tags associated with an existing data export definition.

## Request Syntax


```
{
   "ResourceArn": "string",
   "ResourceTagKeys": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_DataExports_UntagResource_RequestSyntax) **   <a name="awscostmanagement-DataExports_UntagResource-request-ResourceArn"></a>
The unique identifier for the resource.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[-a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

 ** [ResourceTagKeys](#API_DataExports_UntagResource_RequestSyntax) **   <a name="awscostmanagement-DataExports_UntagResource-request-ResourceTagKeys"></a>
The tag keys that are associated with the resource ARN.  
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified Amazon Resource Name (ARN) in the request doesn't exist.    
 ** ResourceId **   
The identifier of the resource that was not found.  
 ** ResourceType **   
The type of the resource that was not found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.    
 ** QuotaCode **   
The quota code that exceeded the throttling limit.  
 ** ServiceCode **   
The service code that exceeded the throttling limit. It will always be “AWSBillingAndCostManagementDataExports”.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Fields **   
The list of fields that are invalid.  
 ** Reason **   
The reason for the validation exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the UntagResource operation.


This example illustrates one usage of UntagResource.

#### Sample Request


```
{
  "ResourceArn": "arn:aws:bcm-data-exports:::export:Example/837fcfce-f85b-4600-b333-b38a12c3a927",
  "ResourceTagKeys": [
    "YourTagKey"
  ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-data-exports-2023-11-26/UntagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-data-exports-2023-11-26/UntagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-data-exports-2023-11-26/UntagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-data-exports-2023-11-26/UntagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-data-exports-2023-11-26/UntagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-data-exports-2023-11-26/UntagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-data-exports-2023-11-26/UntagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-data-exports-2023-11-26/UntagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-data-exports-2023-11-26/UntagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-data-exports-2023-11-26/UntagResource) 

# UpdateExport


Updates an existing data export by overwriting all export parameters. All export parameters must be provided in the UpdateExport request.

## Request Syntax


```
{
   "Export": { 
      "DataQuery": { 
         "QueryStatement": "string",
         "TableConfigurations": { 
            "string" : { 
               "string" : "string" 
            }
         }
      },
      "Description": "string",
      "DestinationConfigurations": { 
         "S3Destination": { 
            "S3Bucket": "string",
            "S3OutputConfigurations": { 
               "Compression": "string",
               "Format": "string",
               "OutputType": "string",
               "Overwrite": "string"
            },
            "S3Prefix": "string",
            "S3Region": "string"
         }
      },
      "ExportArn": "string",
      "Name": "string",
      "RefreshCadence": { 
         "Frequency": "string"
      }
   },
   "ExportArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Export](#API_DataExports_UpdateExport_RequestSyntax) **   <a name="awscostmanagement-DataExports_UpdateExport-request-Export"></a>
The name and query details for the export.  
Type: [Export](API_DataExports_Export.md) object  
Required: Yes

 ** [ExportArn](#API_DataExports_UpdateExport_RequestSyntax) **   <a name="awscostmanagement-DataExports_UpdateExport-request-ExportArn"></a>
The Amazon Resource Name (ARN) for this export.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[-a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

## Response Syntax


```
{
   "ExportArn": "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.

 ** [ExportArn](#API_DataExports_UpdateExport_ResponseSyntax) **   <a name="awscostmanagement-DataExports_UpdateExport-response-ExportArn"></a>
The Amazon Resource Name (ARN) for this export.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:[-a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified Amazon Resource Name (ARN) in the request doesn't exist.    
 ** ResourceId **   
The identifier of the resource that was not found.  
 ** ResourceType **   
The type of the resource that was not found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.    
 ** QuotaCode **   
The quota code that exceeded the throttling limit.  
 ** ServiceCode **   
The service code that exceeded the throttling limit. It will always be “AWSBillingAndCostManagementDataExports”.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Fields **   
The list of fields that are invalid.  
 ** Reason **   
The reason for the validation exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the UpdateExport operation.


This example illustrates one usage of UpdateExport.

#### Sample Request


```
{
    "ExportArn": "arn:aws:bcm-data-exports:::export:Example/837fcfce-f85b-4600-b333-b38a12c3a927",
    "Export": {
        "Name": "ExampleExportName",
        "Description": "Example Description",
        "DataQuery": {
            "QueryStatement": "SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT",
            "TableConfigurations": {
                "COST_AND_USAGE_REPORT": {
                    "TIME_GRANULARITY": "DAILY",
                    "INCLUDE_RESOURCES": "FALSE",
                    "INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY": "FALSE",
                    "INCLUDE_SPLIT_COST_ALLOCATION_DATA": "FALSE"
                }
            }
        },
        "DestinationConfigurations": {
            "S3Destination": {
                "S3Bucket": "ExampleS3Bucket",
                "S3Prefix": "ExampleS3Prefix",
                "S3Region": "us-east-1",
                "S3OutputConfigurations": {
                    "Overwrite": "OVERWRITE_REPORT",
                    "Format": "TEXT_OR_CSV",
                    "Compression": "GZIP",
                    "OutputType": "CUSTOM"
                }
            }
        },
        "RefreshCadence": {
            "Frequency": "SYNCHRONOUS"
        }
    }
}
```

### The following is a sample response of the UpdateExport operation.


This example illustrates one usage of UpdateExport.

#### Sample Response


```
{
    "ExportArn": "arn:aws:bcm-data-exports:::export:Example/837fcfce-f85b-4600-b333-b38a12c3a927"
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-data-exports-2023-11-26/UpdateExport) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-data-exports-2023-11-26/UpdateExport) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-data-exports-2023-11-26/UpdateExport) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-data-exports-2023-11-26/UpdateExport) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-data-exports-2023-11-26/UpdateExport) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-data-exports-2023-11-26/UpdateExport) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-data-exports-2023-11-26/UpdateExport) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-data-exports-2023-11-26/UpdateExport) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-data-exports-2023-11-26/UpdateExport) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-data-exports-2023-11-26/UpdateExport) 

# Amazon Pricing Calculator


The following actions are supported by Amazon Pricing Calculator:
+  [BatchCreateBillScenarioCommitmentModification](API_AWSBCMPricingCalculator_BatchCreateBillScenarioCommitmentModification.md) 
+  [BatchCreateBillScenarioUsageModification](API_AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModification.md) 
+  [BatchCreateWorkloadEstimateUsage](API_AWSBCMPricingCalculator_BatchCreateWorkloadEstimateUsage.md) 
+  [BatchDeleteBillScenarioCommitmentModification](API_AWSBCMPricingCalculator_BatchDeleteBillScenarioCommitmentModification.md) 
+  [BatchDeleteBillScenarioUsageModification](API_AWSBCMPricingCalculator_BatchDeleteBillScenarioUsageModification.md) 
+  [BatchDeleteWorkloadEstimateUsage](API_AWSBCMPricingCalculator_BatchDeleteWorkloadEstimateUsage.md) 
+  [BatchUpdateBillScenarioCommitmentModification](API_AWSBCMPricingCalculator_BatchUpdateBillScenarioCommitmentModification.md) 
+  [BatchUpdateBillScenarioUsageModification](API_AWSBCMPricingCalculator_BatchUpdateBillScenarioUsageModification.md) 
+  [BatchUpdateWorkloadEstimateUsage](API_AWSBCMPricingCalculator_BatchUpdateWorkloadEstimateUsage.md) 
+  [CreateBillEstimate](API_AWSBCMPricingCalculator_CreateBillEstimate.md) 
+  [CreateBillScenario](API_AWSBCMPricingCalculator_CreateBillScenario.md) 
+  [CreateWorkloadEstimate](API_AWSBCMPricingCalculator_CreateWorkloadEstimate.md) 
+  [DeleteBillEstimate](API_AWSBCMPricingCalculator_DeleteBillEstimate.md) 
+  [DeleteBillScenario](API_AWSBCMPricingCalculator_DeleteBillScenario.md) 
+  [DeleteWorkloadEstimate](API_AWSBCMPricingCalculator_DeleteWorkloadEstimate.md) 
+  [GetBillEstimate](API_AWSBCMPricingCalculator_GetBillEstimate.md) 
+  [GetBillScenario](API_AWSBCMPricingCalculator_GetBillScenario.md) 
+  [GetPreferences](API_AWSBCMPricingCalculator_GetPreferences.md) 
+  [GetWorkloadEstimate](API_AWSBCMPricingCalculator_GetWorkloadEstimate.md) 
+  [ListBillEstimateCommitments](API_AWSBCMPricingCalculator_ListBillEstimateCommitments.md) 
+  [ListBillEstimateInputCommitmentModifications](API_AWSBCMPricingCalculator_ListBillEstimateInputCommitmentModifications.md) 
+  [ListBillEstimateInputUsageModifications](API_AWSBCMPricingCalculator_ListBillEstimateInputUsageModifications.md) 
+  [ListBillEstimateLineItems](API_AWSBCMPricingCalculator_ListBillEstimateLineItems.md) 
+  [ListBillEstimates](API_AWSBCMPricingCalculator_ListBillEstimates.md) 
+  [ListBillScenarioCommitmentModifications](API_AWSBCMPricingCalculator_ListBillScenarioCommitmentModifications.md) 
+  [ListBillScenarios](API_AWSBCMPricingCalculator_ListBillScenarios.md) 
+  [ListBillScenarioUsageModifications](API_AWSBCMPricingCalculator_ListBillScenarioUsageModifications.md) 
+  [ListTagsForResource](API_AWSBCMPricingCalculator_ListTagsForResource.md) 
+  [ListWorkloadEstimates](API_AWSBCMPricingCalculator_ListWorkloadEstimates.md) 
+  [ListWorkloadEstimateUsage](API_AWSBCMPricingCalculator_ListWorkloadEstimateUsage.md) 
+  [TagResource](API_AWSBCMPricingCalculator_TagResource.md) 
+  [UntagResource](API_AWSBCMPricingCalculator_UntagResource.md) 
+  [UpdateBillEstimate](API_AWSBCMPricingCalculator_UpdateBillEstimate.md) 
+  [UpdateBillScenario](API_AWSBCMPricingCalculator_UpdateBillScenario.md) 
+  [UpdatePreferences](API_AWSBCMPricingCalculator_UpdatePreferences.md) 
+  [UpdateWorkloadEstimate](API_AWSBCMPricingCalculator_UpdateWorkloadEstimate.md) 

# BatchCreateBillScenarioCommitmentModification


 Create Compute Savings Plans, EC2 Instance Savings Plans, or EC2 Reserved Instances commitments that you want to model in a Bill Scenario. 

**Note**  
The `BatchCreateBillScenarioCommitmentModification` operation doesn't have its own IAM permission. To authorize this operation for Amazon principals, include the permission `bcm-pricing-calculator:CreateBillScenarioCommitmentModification` in your policies.

## Request Syntax


```
{
   "billScenarioId": "string",
   "clientToken": "string",
   "commitmentModifications": [ 
      { 
         "commitmentAction": { ... },
         "group": "string",
         "key": "string",
         "usageAccountId": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [billScenarioId](#API_AWSBCMPricingCalculator_BatchCreateBillScenarioCommitmentModification_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchCreateBillScenarioCommitmentModification-request-billScenarioId"></a>
 The ID of the Bill Scenario for which you want to create the modeled commitment.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [clientToken](#API_AWSBCMPricingCalculator_BatchCreateBillScenarioCommitmentModification_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchCreateBillScenarioCommitmentModification-request-clientToken"></a>
 A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[\u0021-\u007E]+`   
Required: No

 ** [commitmentModifications](#API_AWSBCMPricingCalculator_BatchCreateBillScenarioCommitmentModification_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchCreateBillScenarioCommitmentModification-request-commitmentModifications"></a>
 List of commitments that you want to model in the Bill Scenario.   
Type: Array of [BatchCreateBillScenarioCommitmentModificationEntry](API_AWSBCMPricingCalculator_BatchCreateBillScenarioCommitmentModificationEntry.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 25 items.  
Required: Yes

## Response Syntax


```
{
   "errors": [ 
      { 
         "errorCode": "string",
         "errorMessage": "string",
         "key": "string"
      }
   ],
   "items": [ 
      { 
         "commitmentAction": { ... },
         "group": "string",
         "id": "string",
         "key": "string",
         "usageAccountId": "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](#API_AWSBCMPricingCalculator_BatchCreateBillScenarioCommitmentModification_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchCreateBillScenarioCommitmentModification-response-errors"></a>
 Returns the list of errors reason and the commitment item keys that cannot be created in the Bill Scenario.   
Type: Array of [BatchCreateBillScenarioCommitmentModificationError](API_AWSBCMPricingCalculator_BatchCreateBillScenarioCommitmentModificationError.md) objects

 ** [items](#API_AWSBCMPricingCalculator_BatchCreateBillScenarioCommitmentModification_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchCreateBillScenarioCommitmentModification-response-items"></a>
 Returns the list of successful commitment line items that were created for the Bill Scenario.   
Type: Array of [BatchCreateBillScenarioCommitmentModificationItem](API_AWSBCMPricingCalculator_BatchCreateBillScenarioCommitmentModificationItem.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** ConflictException **   
 The request could not be processed because of conflict in the current state of the resource.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioCommitmentModification) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioCommitmentModification) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioCommitmentModification) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioCommitmentModification) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioCommitmentModification) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioCommitmentModification) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioCommitmentModification) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioCommitmentModification) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioCommitmentModification) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioCommitmentModification) 

# BatchCreateBillScenarioUsageModification


 Create Amazon service usage that you want to model in a Bill Scenario. 

**Note**  
The `BatchCreateBillScenarioUsageModification` operation doesn't have its own IAM permission. To authorize this operation for Amazon principals, include the permission `bcm-pricing-calculator:CreateBillScenarioUsageModification` in your policies.

## Request Syntax


```
{
   "billScenarioId": "string",
   "clientToken": "string",
   "usageModifications": [ 
      { 
         "amounts": [ 
            { 
               "amount": number,
               "startHour": number
            }
         ],
         "availabilityZone": "string",
         "group": "string",
         "historicalUsage": { 
            "billInterval": { 
               "end": number,
               "start": number
            },
            "filterExpression": { 
               "and": [ 
                  "Expression"
               ],
               "costCategories": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "dimensions": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "not": "Expression",
               "or": [ 
                  "Expression"
               ],
               "tags": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               }
            },
            "location": "string",
            "operation": "string",
            "serviceCode": "string",
            "usageAccountId": "string",
            "usageType": "string"
         },
         "key": "string",
         "operation": "string",
         "serviceCode": "string",
         "usageAccountId": "string",
         "usageType": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [billScenarioId](#API_AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModification_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModification-request-billScenarioId"></a>
 The ID of the Bill Scenario for which you want to create the modeled usage.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [clientToken](#API_AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModification_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModification-request-clientToken"></a>
 A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[\u0021-\u007E]+`   
Required: No

 ** [usageModifications](#API_AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModification_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModification-request-usageModifications"></a>
 List of usage that you want to model in the Bill Scenario.   
Type: Array of [BatchCreateBillScenarioUsageModificationEntry](API_AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModificationEntry.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 25 items.  
Required: Yes

## Response Syntax


```
{
   "errors": [ 
      { 
         "errorCode": "string",
         "errorMessage": "string",
         "key": "string"
      }
   ],
   "items": [ 
      { 
         "availabilityZone": "string",
         "group": "string",
         "historicalUsage": { 
            "billInterval": { 
               "end": number,
               "start": number
            },
            "filterExpression": { 
               "and": [ 
                  "Expression"
               ],
               "costCategories": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "dimensions": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "not": "Expression",
               "or": [ 
                  "Expression"
               ],
               "tags": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               }
            },
            "location": "string",
            "operation": "string",
            "serviceCode": "string",
            "usageAccountId": "string",
            "usageType": "string"
         },
         "id": "string",
         "key": "string",
         "location": "string",
         "operation": "string",
         "quantities": [ 
            { 
               "amount": number,
               "startHour": number,
               "unit": "string"
            }
         ],
         "serviceCode": "string",
         "usageAccountId": "string",
         "usageType": "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](#API_AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModification_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModification-response-errors"></a>
 Returns the list of errors reason and the usage item keys that cannot be created in the Bill Scenario.   
Type: Array of [BatchCreateBillScenarioUsageModificationError](API_AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModificationError.md) objects

 ** [items](#API_AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModification_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModification-response-items"></a>
 Returns the list of successful usage line items that were created for the Bill Scenario.   
Type: Array of [BatchCreateBillScenarioUsageModificationItem](API_AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModificationItem.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** ConflictException **   
 The request could not be processed because of conflict in the current state of the resource.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
 The request would cause you to exceed your service quota.     
 ** quotaCode **   
 The quota code that was exceeded.   
 ** resourceId **   
 The identifier of the resource that exceeded quota.   
 ** resourceType **   
 The type of the resource that exceeded quota.   
 ** serviceCode **   
 The service code that exceeded quota. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioUsageModification) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioUsageModification) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioUsageModification) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioUsageModification) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioUsageModification) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioUsageModification) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioUsageModification) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioUsageModification) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioUsageModification) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/BatchCreateBillScenarioUsageModification) 

# BatchCreateWorkloadEstimateUsage


 Create Amazon service usage that you want to model in a Workload Estimate. 

**Note**  
The `BatchCreateWorkloadEstimateUsage` operation doesn't have its own IAM permission. To authorize this operation for Amazon principals, include the permission `bcm-pricing-calculator:CreateWorkloadEstimateUsage` in your policies.

## Request Syntax


```
{
   "clientToken": "string",
   "usage": [ 
      { 
         "amount": number,
         "group": "string",
         "historicalUsage": { 
            "billInterval": { 
               "end": number,
               "start": number
            },
            "filterExpression": { 
               "and": [ 
                  "Expression"
               ],
               "costCategories": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "dimensions": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "not": "Expression",
               "or": [ 
                  "Expression"
               ],
               "tags": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               }
            },
            "location": "string",
            "operation": "string",
            "serviceCode": "string",
            "usageAccountId": "string",
            "usageType": "string"
         },
         "key": "string",
         "operation": "string",
         "serviceCode": "string",
         "usageAccountId": "string",
         "usageType": "string"
      }
   ],
   "workloadEstimateId": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [clientToken](#API_AWSBCMPricingCalculator_BatchCreateWorkloadEstimateUsage_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchCreateWorkloadEstimateUsage-request-clientToken"></a>
 A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[\u0021-\u007E]+`   
Required: No

 ** [usage](#API_AWSBCMPricingCalculator_BatchCreateWorkloadEstimateUsage_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchCreateWorkloadEstimateUsage-request-usage"></a>
 List of usage that you want to model in the Workload estimate.   
Type: Array of [BatchCreateWorkloadEstimateUsageEntry](API_AWSBCMPricingCalculator_BatchCreateWorkloadEstimateUsageEntry.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 25 items.  
Required: Yes

 ** [workloadEstimateId](#API_AWSBCMPricingCalculator_BatchCreateWorkloadEstimateUsage_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchCreateWorkloadEstimateUsage-request-workloadEstimateId"></a>
 The ID of the Workload estimate for which you want to create the modeled usage.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

## Response Syntax


```
{
   "errors": [ 
      { 
         "errorCode": "string",
         "errorMessage": "string",
         "key": "string"
      }
   ],
   "items": [ 
      { 
         "cost": number,
         "currency": "string",
         "group": "string",
         "historicalUsage": { 
            "billInterval": { 
               "end": number,
               "start": number
            },
            "filterExpression": { 
               "and": [ 
                  "Expression"
               ],
               "costCategories": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "dimensions": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "not": "Expression",
               "or": [ 
                  "Expression"
               ],
               "tags": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               }
            },
            "location": "string",
            "operation": "string",
            "serviceCode": "string",
            "usageAccountId": "string",
            "usageType": "string"
         },
         "id": "string",
         "key": "string",
         "location": "string",
         "operation": "string",
         "quantity": { 
            "amount": number,
            "unit": "string"
         },
         "serviceCode": "string",
         "status": "string",
         "usageAccountId": "string",
         "usageType": "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](#API_AWSBCMPricingCalculator_BatchCreateWorkloadEstimateUsage_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchCreateWorkloadEstimateUsage-response-errors"></a>
 Returns the list of errors reason and the usage item keys that cannot be created in the Workload estimate.   
Type: Array of [BatchCreateWorkloadEstimateUsageError](API_AWSBCMPricingCalculator_BatchCreateWorkloadEstimateUsageError.md) objects

 ** [items](#API_AWSBCMPricingCalculator_BatchCreateWorkloadEstimateUsage_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchCreateWorkloadEstimateUsage-response-items"></a>
 Returns the list of successful usage line items that were created for the Workload estimate.   
Type: Array of [BatchCreateWorkloadEstimateUsageItem](API_AWSBCMPricingCalculator_BatchCreateWorkloadEstimateUsageItem.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** ConflictException **   
 The request could not be processed because of conflict in the current state of the resource.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
 The request would cause you to exceed your service quota.     
 ** quotaCode **   
 The quota code that was exceeded.   
 ** resourceId **   
 The identifier of the resource that exceeded quota.   
 ** resourceType **   
 The type of the resource that exceeded quota.   
 ** serviceCode **   
 The service code that exceeded quota. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/BatchCreateWorkloadEstimateUsage) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/BatchCreateWorkloadEstimateUsage) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/BatchCreateWorkloadEstimateUsage) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/BatchCreateWorkloadEstimateUsage) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/BatchCreateWorkloadEstimateUsage) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/BatchCreateWorkloadEstimateUsage) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/BatchCreateWorkloadEstimateUsage) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/BatchCreateWorkloadEstimateUsage) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/BatchCreateWorkloadEstimateUsage) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/BatchCreateWorkloadEstimateUsage) 

# BatchDeleteBillScenarioCommitmentModification


 Delete commitment that you have created in a Bill Scenario. You can only delete a commitment that you had added and cannot model deletion (or removal) of a existing commitment. If you want model deletion of an existing commitment, see the negate [ BillScenarioCommitmentModificationAction](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_AWSBCMPricingCalculator_BillScenarioCommitmentModificationAction.html) of [ BatchCreateBillScenarioCommitmentModification](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_AWSBCMPricingCalculator_BatchCreateBillScenarioUsageModification.html) operation. 

**Note**  
The `BatchDeleteBillScenarioCommitmentModification` operation doesn't have its own IAM permission. To authorize this operation for Amazon principals, include the permission `bcm-pricing-calculator:DeleteBillScenarioCommitmentModification` in your policies.

## Request Syntax


```
{
   "billScenarioId": "string",
   "ids": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [billScenarioId](#API_AWSBCMPricingCalculator_BatchDeleteBillScenarioCommitmentModification_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchDeleteBillScenarioCommitmentModification-request-billScenarioId"></a>
 The ID of the Bill Scenario for which you want to delete the modeled commitment.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [ids](#API_AWSBCMPricingCalculator_BatchDeleteBillScenarioCommitmentModification_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchDeleteBillScenarioCommitmentModification-request-ids"></a>
 List of commitments that you want to delete from the Bill Scenario.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 25 items.  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

## Response Syntax


```
{
   "errors": [ 
      { 
         "errorCode": "string",
         "errorMessage": "string",
         "id": "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](#API_AWSBCMPricingCalculator_BatchDeleteBillScenarioCommitmentModification_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchDeleteBillScenarioCommitmentModification-response-errors"></a>
 Returns the list of errors reason and the commitment item keys that cannot be deleted from the Bill Scenario.   
Type: Array of [BatchDeleteBillScenarioCommitmentModificationError](API_AWSBCMPricingCalculator_BatchDeleteBillScenarioCommitmentModificationError.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** ConflictException **   
 The request could not be processed because of conflict in the current state of the resource.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioCommitmentModification) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioCommitmentModification) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioCommitmentModification) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioCommitmentModification) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioCommitmentModification) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioCommitmentModification) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioCommitmentModification) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioCommitmentModification) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioCommitmentModification) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioCommitmentModification) 

# BatchDeleteBillScenarioUsageModification


 Delete usage that you have created in a Bill Scenario. You can only delete usage that you had added and cannot model deletion (or removal) of a existing usage. If you want model removal of an existing usage, see [ BatchUpdateBillScenarioUsageModification](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_AWSBCMPricingCalculator_BatchUpdateBillScenarioUsageModification.html). 

**Note**  
The `BatchDeleteBillScenarioUsageModification` operation doesn't have its own IAM permission. To authorize this operation for Amazon principals, include the permission `bcm-pricing-calculator:DeleteBillScenarioUsageModification` in your policies.

## Request Syntax


```
{
   "billScenarioId": "string",
   "ids": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [billScenarioId](#API_AWSBCMPricingCalculator_BatchDeleteBillScenarioUsageModification_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchDeleteBillScenarioUsageModification-request-billScenarioId"></a>
 The ID of the Bill Scenario for which you want to delete the modeled usage.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [ids](#API_AWSBCMPricingCalculator_BatchDeleteBillScenarioUsageModification_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchDeleteBillScenarioUsageModification-request-ids"></a>
 List of usage that you want to delete from the Bill Scenario.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 25 items.  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

## Response Syntax


```
{
   "errors": [ 
      { 
         "errorCode": "string",
         "errorMessage": "string",
         "id": "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](#API_AWSBCMPricingCalculator_BatchDeleteBillScenarioUsageModification_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchDeleteBillScenarioUsageModification-response-errors"></a>
 Returns the list of errors reason and the usage item keys that cannot be deleted from the Bill Scenario.   
Type: Array of [BatchDeleteBillScenarioUsageModificationError](API_AWSBCMPricingCalculator_BatchDeleteBillScenarioUsageModificationError.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** ConflictException **   
 The request could not be processed because of conflict in the current state of the resource.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
 The request would cause you to exceed your service quota.     
 ** quotaCode **   
 The quota code that was exceeded.   
 ** resourceId **   
 The identifier of the resource that exceeded quota.   
 ** resourceType **   
 The type of the resource that exceeded quota.   
 ** serviceCode **   
 The service code that exceeded quota. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioUsageModification) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioUsageModification) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioUsageModification) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioUsageModification) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioUsageModification) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioUsageModification) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioUsageModification) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioUsageModification) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioUsageModification) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/BatchDeleteBillScenarioUsageModification) 

# BatchDeleteWorkloadEstimateUsage


 Delete usage that you have created in a Workload estimate. You can only delete usage that you had added and cannot model deletion (or removal) of a existing usage. If you want model removal of an existing usage, see [ BatchUpdateWorkloadEstimateUsage](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_AWSBCMPricingCalculator_BatchUpdateWorkloadEstimateUsage.html). 

**Note**  
The `BatchDeleteWorkloadEstimateUsage` operation doesn't have its own IAM permission. To authorize this operation for Amazon principals, include the permission `bcm-pricing-calculator:DeleteWorkloadEstimateUsage` in your policies.

## Request Syntax


```
{
   "ids": [ "string" ],
   "workloadEstimateId": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ids](#API_AWSBCMPricingCalculator_BatchDeleteWorkloadEstimateUsage_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchDeleteWorkloadEstimateUsage-request-ids"></a>
 List of usage that you want to delete from the Workload estimate.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 25 items.  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [workloadEstimateId](#API_AWSBCMPricingCalculator_BatchDeleteWorkloadEstimateUsage_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchDeleteWorkloadEstimateUsage-request-workloadEstimateId"></a>
 The ID of the Workload estimate for which you want to delete the modeled usage.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

## Response Syntax


```
{
   "errors": [ 
      { 
         "errorCode": "string",
         "errorMessage": "string",
         "id": "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](#API_AWSBCMPricingCalculator_BatchDeleteWorkloadEstimateUsage_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchDeleteWorkloadEstimateUsage-response-errors"></a>
 Returns the list of errors reason and the usage item keys that cannot be deleted from the Workload estimate.   
Type: Array of [BatchDeleteWorkloadEstimateUsageError](API_AWSBCMPricingCalculator_BatchDeleteWorkloadEstimateUsageError.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
 The request would cause you to exceed your service quota.     
 ** quotaCode **   
 The quota code that was exceeded.   
 ** resourceId **   
 The identifier of the resource that exceeded quota.   
 ** resourceType **   
 The type of the resource that exceeded quota.   
 ** serviceCode **   
 The service code that exceeded quota. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/BatchDeleteWorkloadEstimateUsage) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/BatchDeleteWorkloadEstimateUsage) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/BatchDeleteWorkloadEstimateUsage) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/BatchDeleteWorkloadEstimateUsage) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/BatchDeleteWorkloadEstimateUsage) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/BatchDeleteWorkloadEstimateUsage) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/BatchDeleteWorkloadEstimateUsage) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/BatchDeleteWorkloadEstimateUsage) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/BatchDeleteWorkloadEstimateUsage) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/BatchDeleteWorkloadEstimateUsage) 

# BatchUpdateBillScenarioCommitmentModification


 Update a newly added or existing commitment. You can update the commitment group based on a commitment ID and a Bill scenario ID. 

**Note**  
The `BatchUpdateBillScenarioCommitmentModification` operation doesn't have its own IAM permission. To authorize this operation for Amazon principals, include the permission `bcm-pricing-calculator:UpdateBillScenarioCommitmentModification` in your policies.

## Request Syntax


```
{
   "billScenarioId": "string",
   "commitmentModifications": [ 
      { 
         "group": "string",
         "id": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [billScenarioId](#API_AWSBCMPricingCalculator_BatchUpdateBillScenarioCommitmentModification_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchUpdateBillScenarioCommitmentModification-request-billScenarioId"></a>
 The ID of the Bill Scenario for which you want to modify the commitment group of a modeled commitment.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [commitmentModifications](#API_AWSBCMPricingCalculator_BatchUpdateBillScenarioCommitmentModification_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchUpdateBillScenarioCommitmentModification-request-commitmentModifications"></a>
 List of commitments that you want to update in a Bill Scenario.   
Type: Array of [BatchUpdateBillScenarioCommitmentModificationEntry](API_AWSBCMPricingCalculator_BatchUpdateBillScenarioCommitmentModificationEntry.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 25 items.  
Required: Yes

## Response Syntax


```
{
   "errors": [ 
      { 
         "errorCode": "string",
         "errorMessage": "string",
         "id": "string"
      }
   ],
   "items": [ 
      { 
         "commitmentAction": { ... },
         "group": "string",
         "id": "string",
         "usageAccountId": "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](#API_AWSBCMPricingCalculator_BatchUpdateBillScenarioCommitmentModification_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchUpdateBillScenarioCommitmentModification-response-errors"></a>
 Returns the list of error reasons and commitment line item IDs that could not be updated for the Bill Scenario.   
Type: Array of [BatchUpdateBillScenarioCommitmentModificationError](API_AWSBCMPricingCalculator_BatchUpdateBillScenarioCommitmentModificationError.md) objects

 ** [items](#API_AWSBCMPricingCalculator_BatchUpdateBillScenarioCommitmentModification_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchUpdateBillScenarioCommitmentModification-response-items"></a>
 Returns the list of successful commitment line items that were updated for a Bill Scenario.   
Type: Array of [BillScenarioCommitmentModificationItem](API_AWSBCMPricingCalculator_BillScenarioCommitmentModificationItem.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** ConflictException **   
 The request could not be processed because of conflict in the current state of the resource.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioCommitmentModification) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioCommitmentModification) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioCommitmentModification) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioCommitmentModification) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioCommitmentModification) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioCommitmentModification) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioCommitmentModification) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioCommitmentModification) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioCommitmentModification) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioCommitmentModification) 

# BatchUpdateBillScenarioUsageModification


 Update a newly added or existing usage lines. You can update the usage amounts, usage hour, and usage group based on a usage ID and a Bill scenario ID. 

**Note**  
The `BatchUpdateBillScenarioUsageModification` operation doesn't have its own IAM permission. To authorize this operation for Amazon principals, include the permission `bcm-pricing-calculator:UpdateBillScenarioUsageModification` in your policies.

## Request Syntax


```
{
   "billScenarioId": "string",
   "usageModifications": [ 
      { 
         "amounts": [ 
            { 
               "amount": number,
               "startHour": number
            }
         ],
         "group": "string",
         "id": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [billScenarioId](#API_AWSBCMPricingCalculator_BatchUpdateBillScenarioUsageModification_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchUpdateBillScenarioUsageModification-request-billScenarioId"></a>
 The ID of the Bill Scenario for which you want to modify the usage lines.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [usageModifications](#API_AWSBCMPricingCalculator_BatchUpdateBillScenarioUsageModification_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchUpdateBillScenarioUsageModification-request-usageModifications"></a>
 List of usage lines that you want to update in a Bill Scenario identified by the usage ID.   
Type: Array of [BatchUpdateBillScenarioUsageModificationEntry](API_AWSBCMPricingCalculator_BatchUpdateBillScenarioUsageModificationEntry.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 25 items.  
Required: Yes

## Response Syntax


```
{
   "errors": [ 
      { 
         "errorCode": "string",
         "errorMessage": "string",
         "id": "string"
      }
   ],
   "items": [ 
      { 
         "availabilityZone": "string",
         "group": "string",
         "historicalUsage": { 
            "billInterval": { 
               "end": number,
               "start": number
            },
            "filterExpression": { 
               "and": [ 
                  "Expression"
               ],
               "costCategories": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "dimensions": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "not": "Expression",
               "or": [ 
                  "Expression"
               ],
               "tags": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               }
            },
            "location": "string",
            "operation": "string",
            "serviceCode": "string",
            "usageAccountId": "string",
            "usageType": "string"
         },
         "id": "string",
         "location": "string",
         "operation": "string",
         "quantities": [ 
            { 
               "amount": number,
               "startHour": number,
               "unit": "string"
            }
         ],
         "serviceCode": "string",
         "usageAccountId": "string",
         "usageType": "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](#API_AWSBCMPricingCalculator_BatchUpdateBillScenarioUsageModification_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchUpdateBillScenarioUsageModification-response-errors"></a>
 Returns the list of error reasons and usage line item IDs that could not be updated for the Bill Scenario.   
Type: Array of [BatchUpdateBillScenarioUsageModificationError](API_AWSBCMPricingCalculator_BatchUpdateBillScenarioUsageModificationError.md) objects

 ** [items](#API_AWSBCMPricingCalculator_BatchUpdateBillScenarioUsageModification_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchUpdateBillScenarioUsageModification-response-items"></a>
 Returns the list of successful usage line items that were updated for a Bill Scenario.   
Type: Array of [BillScenarioUsageModificationItem](API_AWSBCMPricingCalculator_BillScenarioUsageModificationItem.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** ConflictException **   
 The request could not be processed because of conflict in the current state of the resource.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
 The request would cause you to exceed your service quota.     
 ** quotaCode **   
 The quota code that was exceeded.   
 ** resourceId **   
 The identifier of the resource that exceeded quota.   
 ** resourceType **   
 The type of the resource that exceeded quota.   
 ** serviceCode **   
 The service code that exceeded quota. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioUsageModification) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioUsageModification) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioUsageModification) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioUsageModification) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioUsageModification) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioUsageModification) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioUsageModification) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioUsageModification) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioUsageModification) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/BatchUpdateBillScenarioUsageModification) 

# BatchUpdateWorkloadEstimateUsage


 Update a newly added or existing usage lines. You can update the usage amounts and usage group based on a usage ID and a Workload estimate ID. 

**Note**  
The `BatchUpdateWorkloadEstimateUsage` operation doesn't have its own IAM permission. To authorize this operation for Amazon principals, include the permission `bcm-pricing-calculator:UpdateWorkloadEstimateUsage` in your policies.

## Request Syntax


```
{
   "usage": [ 
      { 
         "amount": number,
         "group": "string",
         "id": "string"
      }
   ],
   "workloadEstimateId": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [usage](#API_AWSBCMPricingCalculator_BatchUpdateWorkloadEstimateUsage_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchUpdateWorkloadEstimateUsage-request-usage"></a>
 List of usage line amounts and usage group that you want to update in a Workload estimate identified by the usage ID.   
Type: Array of [BatchUpdateWorkloadEstimateUsageEntry](API_AWSBCMPricingCalculator_BatchUpdateWorkloadEstimateUsageEntry.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 25 items.  
Required: Yes

 ** [workloadEstimateId](#API_AWSBCMPricingCalculator_BatchUpdateWorkloadEstimateUsage_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchUpdateWorkloadEstimateUsage-request-workloadEstimateId"></a>
 The ID of the Workload estimate for which you want to modify the usage lines.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

## Response Syntax


```
{
   "errors": [ 
      { 
         "errorCode": "string",
         "errorMessage": "string",
         "id": "string"
      }
   ],
   "items": [ 
      { 
         "cost": number,
         "currency": "string",
         "group": "string",
         "historicalUsage": { 
            "billInterval": { 
               "end": number,
               "start": number
            },
            "filterExpression": { 
               "and": [ 
                  "Expression"
               ],
               "costCategories": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "dimensions": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "not": "Expression",
               "or": [ 
                  "Expression"
               ],
               "tags": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               }
            },
            "location": "string",
            "operation": "string",
            "serviceCode": "string",
            "usageAccountId": "string",
            "usageType": "string"
         },
         "id": "string",
         "location": "string",
         "operation": "string",
         "quantity": { 
            "amount": number,
            "unit": "string"
         },
         "serviceCode": "string",
         "status": "string",
         "usageAccountId": "string",
         "usageType": "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](#API_AWSBCMPricingCalculator_BatchUpdateWorkloadEstimateUsage_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchUpdateWorkloadEstimateUsage-response-errors"></a>
 Returns the list of error reasons and usage line item IDs that could not be updated for the Workload estimate.   
Type: Array of [BatchUpdateWorkloadEstimateUsageError](API_AWSBCMPricingCalculator_BatchUpdateWorkloadEstimateUsageError.md) objects

 ** [items](#API_AWSBCMPricingCalculator_BatchUpdateWorkloadEstimateUsage_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_BatchUpdateWorkloadEstimateUsage-response-items"></a>
 Returns the list of successful usage line items that were updated for a Workload estimate.   
Type: Array of [WorkloadEstimateUsageItem](API_AWSBCMPricingCalculator_WorkloadEstimateUsageItem.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
 The request would cause you to exceed your service quota.     
 ** quotaCode **   
 The quota code that was exceeded.   
 ** resourceId **   
 The identifier of the resource that exceeded quota.   
 ** resourceType **   
 The type of the resource that exceeded quota.   
 ** serviceCode **   
 The service code that exceeded quota. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/BatchUpdateWorkloadEstimateUsage) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/BatchUpdateWorkloadEstimateUsage) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/BatchUpdateWorkloadEstimateUsage) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/BatchUpdateWorkloadEstimateUsage) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/BatchUpdateWorkloadEstimateUsage) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/BatchUpdateWorkloadEstimateUsage) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/BatchUpdateWorkloadEstimateUsage) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/BatchUpdateWorkloadEstimateUsage) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/BatchUpdateWorkloadEstimateUsage) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/BatchUpdateWorkloadEstimateUsage) 

# CreateBillEstimate


 Create a Bill estimate from a Bill scenario. In the Bill scenario you can model usage addition, usage changes, and usage removal. You can also model commitment addition and commitment removal. After all changes in a Bill scenario is made satisfactorily, you can call this API with a Bill scenario ID to generate the Bill estimate. Bill estimate calculates the pre-tax cost for your consolidated billing family, incorporating all modeled usage and commitments alongside existing usage and commitments from your most recent completed anniversary bill, with any applicable discounts applied. 

## Request Syntax


```
{
   "billScenarioId": "string",
   "clientToken": "string",
   "name": "string",
   "tags": { 
      "string" : "string" 
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [billScenarioId](#API_AWSBCMPricingCalculator_CreateBillEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillEstimate-request-billScenarioId"></a>
 The ID of the Bill Scenario for which you want to create a Bill estimate.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [clientToken](#API_AWSBCMPricingCalculator_CreateBillEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillEstimate-request-clientToken"></a>
 A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[\u0021-\u007E]+`   
Required: No

 ** [name](#API_AWSBCMPricingCalculator_CreateBillEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillEstimate-request-name"></a>
 The name of the Bill estimate that will be created. Names must be unique for an account.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-]+`   
Required: Yes

 ** [tags](#API_AWSBCMPricingCalculator_CreateBillEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillEstimate-request-tags"></a>
 An optional list of tags to associate with the specified BillEstimate. You can use resource tags to control access to your BillEstimate using IAM policies. Each tag consists of a key and a value, and each key must be unique for the resource. The following restrictions apply to resource tags:   
+ Although the maximum number of array members is 200, you can assign a maximum of 50 user-tags to one resource. The remaining are reserved for Amazon. 
+ The maximum length of a key is 128 characters.
+ The maximum length of a value is 256 characters.
+ Keys and values can only contain alphanumeric characters, spaces, and any of the following: `_.:/=+@-`.
+ Keys and values are case sensitive.
+ Keys and values are trimmed for any leading or trailing whitespaces.
+ Don't use `aws:` as a prefix for your keys. This prefix is reserved for Amazon.
Type: String to string map  
Map Entries: Minimum number of 0 items. Maximum number of 200 items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `[\w\s:+=@/-]+`   
Value Length Constraints: Minimum length of 0. Maximum length of 256.  
Value Pattern: `[\w\s:+=@/-]*`   
Required: No

## Response Syntax


```
{
   "billInterval": { 
      "end": number,
      "start": number
   },
   "costCategoryGroupSharingPreferenceArn": "string",
   "costCategoryGroupSharingPreferenceEffectiveDate": number,
   "costSummary": { 
      "serviceCostDifferences": { 
         "string" : { 
            "estimatedCost": { 
               "amount": number,
               "currency": "string"
            },
            "historicalCost": { 
               "amount": number,
               "currency": "string"
            }
         }
      },
      "totalCostDifference": { 
         "estimatedCost": { 
            "amount": number,
            "currency": "string"
         },
         "historicalCost": { 
            "amount": number,
            "currency": "string"
         }
      }
   },
   "createdAt": number,
   "expiresAt": number,
   "failureMessage": "string",
   "groupSharingPreference": "string",
   "id": "string",
   "name": "string",
   "status": "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.

 ** [billInterval](#API_AWSBCMPricingCalculator_CreateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillEstimate-response-billInterval"></a>
 The bill month start and end timestamp that was used to create the Bill estimate. This is set to the last complete anniversary bill month start and end timestamp.   
Type: [BillInterval](API_AWSBCMPricingCalculator_BillInterval.md) object

 ** [costCategoryGroupSharingPreferenceArn](#API_AWSBCMPricingCalculator_CreateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillEstimate-response-costCategoryGroupSharingPreferenceArn"></a>
The arn of the cost category used in the reserved and prioritized group sharing.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:ce::[0-9]{12}:costcategory/[a-f0-9-]{36}` 

 ** [costCategoryGroupSharingPreferenceEffectiveDate](#API_AWSBCMPricingCalculator_CreateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillEstimate-response-costCategoryGroupSharingPreferenceEffectiveDate"></a>
Timestamp of the effective date of the cost category used in the group sharing settings.  
Type: Timestamp

 ** [costSummary](#API_AWSBCMPricingCalculator_CreateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillEstimate-response-costSummary"></a>
 Returns summary-level cost information once a Bill estimate is successfully generated. This summary includes: 1) the total cost difference, showing the pre-tax cost change for the consolidated billing family between the completed anniversary bill and the estimated bill, and 2) total cost differences per service, detailing the pre-tax cost of each service, comparing the completed anniversary bill to the estimated bill on a per-service basis.   
Type: [BillEstimateCostSummary](API_AWSBCMPricingCalculator_BillEstimateCostSummary.md) object

 ** [createdAt](#API_AWSBCMPricingCalculator_CreateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillEstimate-response-createdAt"></a>
 The timestamp of when the Bill estimate create process was started (not when it successfully completed or failed).   
Type: Timestamp

 ** [expiresAt](#API_AWSBCMPricingCalculator_CreateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillEstimate-response-expiresAt"></a>
 The timestamp of when the Bill estimate will expire. A Bill estimate becomes inaccessible after expiration.   
Type: Timestamp

 ** [failureMessage](#API_AWSBCMPricingCalculator_CreateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillEstimate-response-failureMessage"></a>
 This attribute provides the reason if a Bill estimate result generation fails.   
Type: String

 ** [groupSharingPreference](#API_AWSBCMPricingCalculator_CreateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillEstimate-response-groupSharingPreference"></a>
The setting for the reserved instance and savings plans group sharing used in this estimate.  
Type: String  
Valid Values: `OPEN | PRIORITIZED | RESTRICTED` 

 ** [id](#API_AWSBCMPricingCalculator_CreateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillEstimate-response-id"></a>
 The unique identifier of your newly created Bill estimate.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` 

 ** [name](#API_AWSBCMPricingCalculator_CreateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillEstimate-response-name"></a>
 The name of your newly created Bill estimate.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-]+` 

 ** [status](#API_AWSBCMPricingCalculator_CreateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillEstimate-response-status"></a>
 The status of your newly created Bill estimate. Bill estimate creation can take anywhere between 8 to 12 hours. The status will allow you to identify when the Bill estimate is complete or has failed.   
Type: String  
Valid Values: `IN_PROGRESS | COMPLETE | FAILED` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** ConflictException **   
 The request could not be processed because of conflict in the current state of the resource.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/CreateBillEstimate) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/CreateBillEstimate) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/CreateBillEstimate) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/CreateBillEstimate) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/CreateBillEstimate) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/CreateBillEstimate) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/CreateBillEstimate) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/CreateBillEstimate) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/CreateBillEstimate) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/CreateBillEstimate) 

# CreateBillScenario


 Creates a new bill scenario to model potential changes to Amazon usage and costs. 

## Request Syntax


```
{
   "clientToken": "string",
   "costCategoryGroupSharingPreferenceArn": "string",
   "groupSharingPreference": "string",
   "name": "string",
   "tags": { 
      "string" : "string" 
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [clientToken](#API_AWSBCMPricingCalculator_CreateBillScenario_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillScenario-request-clientToken"></a>
 A unique, case-sensitive identifier to ensure idempotency of the request.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[\u0021-\u007E]+`   
Required: No

 ** [costCategoryGroupSharingPreferenceArn](#API_AWSBCMPricingCalculator_CreateBillScenario_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillScenario-request-costCategoryGroupSharingPreferenceArn"></a>
The arn of the cost category used in the reserved and prioritized group sharing.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:ce::[0-9]{12}:costcategory/[a-f0-9-]{36}`   
Required: No

 ** [groupSharingPreference](#API_AWSBCMPricingCalculator_CreateBillScenario_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillScenario-request-groupSharingPreference"></a>
The setting for the reserved instance and savings plans group sharing used in this estimate.  
Type: String  
Valid Values: `OPEN | PRIORITIZED | RESTRICTED`   
Required: No

 ** [name](#API_AWSBCMPricingCalculator_CreateBillScenario_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillScenario-request-name"></a>
 A descriptive name for the bill scenario.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-]+`   
Required: Yes

 ** [tags](#API_AWSBCMPricingCalculator_CreateBillScenario_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillScenario-request-tags"></a>
 The tags to apply to the bill scenario.   
Type: String to string map  
Map Entries: Minimum number of 0 items. Maximum number of 200 items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `[\w\s:+=@/-]+`   
Value Length Constraints: Minimum length of 0. Maximum length of 256.  
Value Pattern: `[\w\s:+=@/-]*`   
Required: No

## Response Syntax


```
{
   "billInterval": { 
      "end": number,
      "start": number
   },
   "costCategoryGroupSharingPreferenceArn": "string",
   "createdAt": number,
   "expiresAt": number,
   "failureMessage": "string",
   "groupSharingPreference": "string",
   "id": "string",
   "name": "string",
   "status": "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.

 ** [billInterval](#API_AWSBCMPricingCalculator_CreateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillScenario-response-billInterval"></a>
 The time period covered by the bill scenario.   
Type: [BillInterval](API_AWSBCMPricingCalculator_BillInterval.md) object

 ** [costCategoryGroupSharingPreferenceArn](#API_AWSBCMPricingCalculator_CreateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillScenario-response-costCategoryGroupSharingPreferenceArn"></a>
The arn of the cost category used in the reserved and prioritized group sharing.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:ce::[0-9]{12}:costcategory/[a-f0-9-]{36}` 

 ** [createdAt](#API_AWSBCMPricingCalculator_CreateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillScenario-response-createdAt"></a>
 The timestamp when the bill scenario was created.   
Type: Timestamp

 ** [expiresAt](#API_AWSBCMPricingCalculator_CreateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillScenario-response-expiresAt"></a>
 The timestamp when the bill scenario will expire.   
Type: Timestamp

 ** [failureMessage](#API_AWSBCMPricingCalculator_CreateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillScenario-response-failureMessage"></a>
 An error message if the bill scenario creation failed.   
Type: String

 ** [groupSharingPreference](#API_AWSBCMPricingCalculator_CreateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillScenario-response-groupSharingPreference"></a>
The setting for the reserved instance and savings plans group sharing used in this estimate.  
Type: String  
Valid Values: `OPEN | PRIORITIZED | RESTRICTED` 

 ** [id](#API_AWSBCMPricingCalculator_CreateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillScenario-response-id"></a>
 The unique identifier for the created bill scenario.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` 

 ** [name](#API_AWSBCMPricingCalculator_CreateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillScenario-response-name"></a>
 The name of the created bill scenario.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-]+` 

 ** [status](#API_AWSBCMPricingCalculator_CreateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateBillScenario-response-status"></a>
 The current status of the bill scenario.   
Type: String  
Valid Values: `READY | LOCKED | FAILED | STALE` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** ConflictException **   
 The request could not be processed because of conflict in the current state of the resource.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ServiceQuotaExceededException **   
 The request would cause you to exceed your service quota.     
 ** quotaCode **   
 The quota code that was exceeded.   
 ** resourceId **   
 The identifier of the resource that exceeded quota.   
 ** resourceType **   
 The type of the resource that exceeded quota.   
 ** serviceCode **   
 The service code that exceeded quota. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/CreateBillScenario) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/CreateBillScenario) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/CreateBillScenario) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/CreateBillScenario) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/CreateBillScenario) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/CreateBillScenario) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/CreateBillScenario) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/CreateBillScenario) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/CreateBillScenario) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/CreateBillScenario) 

# CreateWorkloadEstimate


 Creates a new workload estimate to model costs for a specific workload. 

## Request Syntax


```
{
   "clientToken": "string",
   "name": "string",
   "rateType": "string",
   "tags": { 
      "string" : "string" 
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [clientToken](#API_AWSBCMPricingCalculator_CreateWorkloadEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateWorkloadEstimate-request-clientToken"></a>
 A unique, case-sensitive identifier to ensure idempotency of the request.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[\u0021-\u007E]+`   
Required: No

 ** [name](#API_AWSBCMPricingCalculator_CreateWorkloadEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateWorkloadEstimate-request-name"></a>
 A descriptive name for the workload estimate.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-]+`   
Required: Yes

 ** [rateType](#API_AWSBCMPricingCalculator_CreateWorkloadEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateWorkloadEstimate-request-rateType"></a>
 The type of pricing rates to use for the estimate.   
Type: String  
Valid Values: `BEFORE_DISCOUNTS | AFTER_DISCOUNTS | AFTER_DISCOUNTS_AND_COMMITMENTS`   
Required: No

 ** [tags](#API_AWSBCMPricingCalculator_CreateWorkloadEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateWorkloadEstimate-request-tags"></a>
 The tags to apply to the workload estimate.   
Type: String to string map  
Map Entries: Minimum number of 0 items. Maximum number of 200 items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `[\w\s:+=@/-]+`   
Value Length Constraints: Minimum length of 0. Maximum length of 256.  
Value Pattern: `[\w\s:+=@/-]*`   
Required: No

## Response Syntax


```
{
   "costCurrency": "string",
   "createdAt": number,
   "expiresAt": number,
   "failureMessage": "string",
   "id": "string",
   "name": "string",
   "rateTimestamp": number,
   "rateType": "string",
   "status": "string",
   "totalCost": 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.

 ** [costCurrency](#API_AWSBCMPricingCalculator_CreateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateWorkloadEstimate-response-costCurrency"></a>
 The currency of the estimated cost.   
Type: String  
Valid Values: `USD` 

 ** [createdAt](#API_AWSBCMPricingCalculator_CreateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateWorkloadEstimate-response-createdAt"></a>
 The timestamp when the workload estimate was created.   
Type: Timestamp

 ** [expiresAt](#API_AWSBCMPricingCalculator_CreateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateWorkloadEstimate-response-expiresAt"></a>
 The timestamp when the workload estimate will expire.   
Type: Timestamp

 ** [failureMessage](#API_AWSBCMPricingCalculator_CreateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateWorkloadEstimate-response-failureMessage"></a>
 An error message if the workload estimate creation failed.   
Type: String

 ** [id](#API_AWSBCMPricingCalculator_CreateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateWorkloadEstimate-response-id"></a>
 The unique identifier for the created workload estimate.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` 

 ** [name](#API_AWSBCMPricingCalculator_CreateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateWorkloadEstimate-response-name"></a>
 The name of the created workload estimate.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-]+` 

 ** [rateTimestamp](#API_AWSBCMPricingCalculator_CreateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateWorkloadEstimate-response-rateTimestamp"></a>
 The timestamp of the pricing rates used for the estimate.   
Type: Timestamp

 ** [rateType](#API_AWSBCMPricingCalculator_CreateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateWorkloadEstimate-response-rateType"></a>
 The type of pricing rates used for the estimate.   
Type: String  
Valid Values: `BEFORE_DISCOUNTS | AFTER_DISCOUNTS | AFTER_DISCOUNTS_AND_COMMITMENTS` 

 ** [status](#API_AWSBCMPricingCalculator_CreateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateWorkloadEstimate-response-status"></a>
 The current status of the workload estimate.   
Type: String  
Valid Values: `UPDATING | VALID | INVALID | ACTION_NEEDED` 

 ** [totalCost](#API_AWSBCMPricingCalculator_CreateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_CreateWorkloadEstimate-response-totalCost"></a>
 The total estimated cost for the workload.   
Type: Double

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** ConflictException **   
 The request could not be processed because of conflict in the current state of the resource.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ServiceQuotaExceededException **   
 The request would cause you to exceed your service quota.     
 ** quotaCode **   
 The quota code that was exceeded.   
 ** resourceId **   
 The identifier of the resource that exceeded quota.   
 ** resourceType **   
 The type of the resource that exceeded quota.   
 ** serviceCode **   
 The service code that exceeded quota. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/CreateWorkloadEstimate) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/CreateWorkloadEstimate) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/CreateWorkloadEstimate) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/CreateWorkloadEstimate) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/CreateWorkloadEstimate) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/CreateWorkloadEstimate) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/CreateWorkloadEstimate) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/CreateWorkloadEstimate) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/CreateWorkloadEstimate) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/CreateWorkloadEstimate) 

# DeleteBillEstimate


 Deletes an existing bill estimate. 

## Request Syntax


```
{
   "identifier": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [identifier](#API_AWSBCMPricingCalculator_DeleteBillEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_DeleteBillEstimate-request-identifier"></a>
 The unique identifier of the bill estimate to delete.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** ConflictException **   
 The request could not be processed because of conflict in the current state of the resource.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/DeleteBillEstimate) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/DeleteBillEstimate) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/DeleteBillEstimate) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/DeleteBillEstimate) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/DeleteBillEstimate) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/DeleteBillEstimate) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/DeleteBillEstimate) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/DeleteBillEstimate) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/DeleteBillEstimate) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/DeleteBillEstimate) 

# DeleteBillScenario


 Deletes an existing bill scenario. 

## Request Syntax


```
{
   "identifier": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [identifier](#API_AWSBCMPricingCalculator_DeleteBillScenario_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_DeleteBillScenario-request-identifier"></a>
 The unique identifier of the bill scenario to delete.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** ConflictException **   
 The request could not be processed because of conflict in the current state of the resource.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/DeleteBillScenario) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/DeleteBillScenario) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/DeleteBillScenario) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/DeleteBillScenario) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/DeleteBillScenario) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/DeleteBillScenario) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/DeleteBillScenario) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/DeleteBillScenario) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/DeleteBillScenario) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/DeleteBillScenario) 

# DeleteWorkloadEstimate


 Deletes an existing workload estimate. 

## Request Syntax


```
{
   "identifier": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [identifier](#API_AWSBCMPricingCalculator_DeleteWorkloadEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_DeleteWorkloadEstimate-request-identifier"></a>
 The unique identifier of the workload estimate to delete.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/DeleteWorkloadEstimate) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/DeleteWorkloadEstimate) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/DeleteWorkloadEstimate) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/DeleteWorkloadEstimate) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/DeleteWorkloadEstimate) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/DeleteWorkloadEstimate) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/DeleteWorkloadEstimate) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/DeleteWorkloadEstimate) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/DeleteWorkloadEstimate) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/DeleteWorkloadEstimate) 

# GetBillEstimate


 Retrieves details of a specific bill estimate. 

## Request Syntax


```
{
   "identifier": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [identifier](#API_AWSBCMPricingCalculator_GetBillEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillEstimate-request-identifier"></a>
 The unique identifier of the bill estimate to retrieve.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

## Response Syntax


```
{
   "billInterval": { 
      "end": number,
      "start": number
   },
   "costCategoryGroupSharingPreferenceArn": "string",
   "costCategoryGroupSharingPreferenceEffectiveDate": number,
   "costSummary": { 
      "serviceCostDifferences": { 
         "string" : { 
            "estimatedCost": { 
               "amount": number,
               "currency": "string"
            },
            "historicalCost": { 
               "amount": number,
               "currency": "string"
            }
         }
      },
      "totalCostDifference": { 
         "estimatedCost": { 
            "amount": number,
            "currency": "string"
         },
         "historicalCost": { 
            "amount": number,
            "currency": "string"
         }
      }
   },
   "createdAt": number,
   "expiresAt": number,
   "failureMessage": "string",
   "groupSharingPreference": "string",
   "id": "string",
   "name": "string",
   "status": "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.

 ** [billInterval](#API_AWSBCMPricingCalculator_GetBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillEstimate-response-billInterval"></a>
 The time period covered by the bill estimate.   
Type: [BillInterval](API_AWSBCMPricingCalculator_BillInterval.md) object

 ** [costCategoryGroupSharingPreferenceArn](#API_AWSBCMPricingCalculator_GetBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillEstimate-response-costCategoryGroupSharingPreferenceArn"></a>
The arn of the cost category used in the reserved and prioritized group sharing.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:ce::[0-9]{12}:costcategory/[a-f0-9-]{36}` 

 ** [costCategoryGroupSharingPreferenceEffectiveDate](#API_AWSBCMPricingCalculator_GetBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillEstimate-response-costCategoryGroupSharingPreferenceEffectiveDate"></a>
Timestamp of the effective date of the cost category used in the group sharing settings.  
Type: Timestamp

 ** [costSummary](#API_AWSBCMPricingCalculator_GetBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillEstimate-response-costSummary"></a>
 A summary of the estimated costs.   
Type: [BillEstimateCostSummary](API_AWSBCMPricingCalculator_BillEstimateCostSummary.md) object

 ** [createdAt](#API_AWSBCMPricingCalculator_GetBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillEstimate-response-createdAt"></a>
 The timestamp when the bill estimate was created.   
Type: Timestamp

 ** [expiresAt](#API_AWSBCMPricingCalculator_GetBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillEstimate-response-expiresAt"></a>
 The timestamp when the bill estimate will expire.   
Type: Timestamp

 ** [failureMessage](#API_AWSBCMPricingCalculator_GetBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillEstimate-response-failureMessage"></a>
 An error message if the bill estimate retrieval failed.   
Type: String

 ** [groupSharingPreference](#API_AWSBCMPricingCalculator_GetBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillEstimate-response-groupSharingPreference"></a>
The setting for the reserved instance and savings plans group sharing used in this estimate.  
Type: String  
Valid Values: `OPEN | PRIORITIZED | RESTRICTED` 

 ** [id](#API_AWSBCMPricingCalculator_GetBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillEstimate-response-id"></a>
 The unique identifier of the retrieved bill estimate.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` 

 ** [name](#API_AWSBCMPricingCalculator_GetBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillEstimate-response-name"></a>
 The name of the retrieved bill estimate.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-]+` 

 ** [status](#API_AWSBCMPricingCalculator_GetBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillEstimate-response-status"></a>
 The current status of the bill estimate.   
Type: String  
Valid Values: `IN_PROGRESS | COMPLETE | FAILED` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/GetBillEstimate) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/GetBillEstimate) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/GetBillEstimate) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/GetBillEstimate) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/GetBillEstimate) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/GetBillEstimate) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/GetBillEstimate) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/GetBillEstimate) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/GetBillEstimate) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/GetBillEstimate) 

# GetBillScenario


 Retrieves details of a specific bill scenario. 

## Request Syntax


```
{
   "identifier": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [identifier](#API_AWSBCMPricingCalculator_GetBillScenario_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillScenario-request-identifier"></a>
 The unique identifier of the bill scenario to retrieve.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

## Response Syntax


```
{
   "billInterval": { 
      "end": number,
      "start": number
   },
   "costCategoryGroupSharingPreferenceArn": "string",
   "createdAt": number,
   "expiresAt": number,
   "failureMessage": "string",
   "groupSharingPreference": "string",
   "id": "string",
   "name": "string",
   "status": "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.

 ** [billInterval](#API_AWSBCMPricingCalculator_GetBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillScenario-response-billInterval"></a>
 The time period covered by the bill scenario.   
Type: [BillInterval](API_AWSBCMPricingCalculator_BillInterval.md) object

 ** [costCategoryGroupSharingPreferenceArn](#API_AWSBCMPricingCalculator_GetBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillScenario-response-costCategoryGroupSharingPreferenceArn"></a>
The arn of the cost category used in the reserved and prioritized group sharing.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:ce::[0-9]{12}:costcategory/[a-f0-9-]{36}` 

 ** [createdAt](#API_AWSBCMPricingCalculator_GetBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillScenario-response-createdAt"></a>
 The timestamp when the bill scenario was created.   
Type: Timestamp

 ** [expiresAt](#API_AWSBCMPricingCalculator_GetBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillScenario-response-expiresAt"></a>
 The timestamp when the bill scenario will expire.   
Type: Timestamp

 ** [failureMessage](#API_AWSBCMPricingCalculator_GetBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillScenario-response-failureMessage"></a>
 An error message if the bill scenario retrieval failed.   
Type: String

 ** [groupSharingPreference](#API_AWSBCMPricingCalculator_GetBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillScenario-response-groupSharingPreference"></a>
The setting for the reserved instance and savings plans group sharing used in this estimate.  
Type: String  
Valid Values: `OPEN | PRIORITIZED | RESTRICTED` 

 ** [id](#API_AWSBCMPricingCalculator_GetBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillScenario-response-id"></a>
 The unique identifier of the retrieved bill scenario.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` 

 ** [name](#API_AWSBCMPricingCalculator_GetBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillScenario-response-name"></a>
 The name of the retrieved bill scenario.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-]+` 

 ** [status](#API_AWSBCMPricingCalculator_GetBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetBillScenario-response-status"></a>
 The current status of the bill scenario.   
Type: String  
Valid Values: `READY | LOCKED | FAILED | STALE` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/GetBillScenario) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/GetBillScenario) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/GetBillScenario) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/GetBillScenario) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/GetBillScenario) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/GetBillScenario) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/GetBillScenario) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/GetBillScenario) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/GetBillScenario) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/GetBillScenario) 

# GetPreferences


 Retrieves the current preferences for Amazon Pricing Calculator. 

## Response Syntax


```
{
   "managementAccountRateTypeSelections": [ "string" ],
   "memberAccountRateTypeSelections": [ "string" ],
   "standaloneAccountRateTypeSelections": [ "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.

 ** [managementAccountRateTypeSelections](#API_AWSBCMPricingCalculator_GetPreferences_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetPreferences-response-managementAccountRateTypeSelections"></a>
 The preferred rate types for the management account.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 3 items.  
Valid Values: `BEFORE_DISCOUNTS | AFTER_DISCOUNTS | AFTER_DISCOUNTS_AND_COMMITMENTS` 

 ** [memberAccountRateTypeSelections](#API_AWSBCMPricingCalculator_GetPreferences_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetPreferences-response-memberAccountRateTypeSelections"></a>
 The preferred rate types for member accounts.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 3 items.  
Valid Values: `BEFORE_DISCOUNTS | AFTER_DISCOUNTS | AFTER_DISCOUNTS_AND_COMMITMENTS` 

 ** [standaloneAccountRateTypeSelections](#API_AWSBCMPricingCalculator_GetPreferences_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetPreferences-response-standaloneAccountRateTypeSelections"></a>
 The preferred rate types for a standalone account.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 3 items.  
Valid Values: `BEFORE_DISCOUNTS | AFTER_DISCOUNTS | AFTER_DISCOUNTS_AND_COMMITMENTS` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/GetPreferences) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/GetPreferences) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/GetPreferences) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/GetPreferences) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/GetPreferences) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/GetPreferences) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/GetPreferences) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/GetPreferences) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/GetPreferences) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/GetPreferences) 

# GetWorkloadEstimate


 Retrieves details of a specific workload estimate. 

## Request Syntax


```
{
   "identifier": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [identifier](#API_AWSBCMPricingCalculator_GetWorkloadEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetWorkloadEstimate-request-identifier"></a>
 The unique identifier of the workload estimate to retrieve.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

## Response Syntax


```
{
   "costCurrency": "string",
   "createdAt": number,
   "expiresAt": number,
   "failureMessage": "string",
   "id": "string",
   "name": "string",
   "rateTimestamp": number,
   "rateType": "string",
   "status": "string",
   "totalCost": 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.

 ** [costCurrency](#API_AWSBCMPricingCalculator_GetWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetWorkloadEstimate-response-costCurrency"></a>
 The currency of the estimated cost.   
Type: String  
Valid Values: `USD` 

 ** [createdAt](#API_AWSBCMPricingCalculator_GetWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetWorkloadEstimate-response-createdAt"></a>
 The timestamp when the workload estimate was created.   
Type: Timestamp

 ** [expiresAt](#API_AWSBCMPricingCalculator_GetWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetWorkloadEstimate-response-expiresAt"></a>
 The timestamp when the workload estimate will expire.   
Type: Timestamp

 ** [failureMessage](#API_AWSBCMPricingCalculator_GetWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetWorkloadEstimate-response-failureMessage"></a>
 An error message if the workload estimate retrieval failed.   
Type: String

 ** [id](#API_AWSBCMPricingCalculator_GetWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetWorkloadEstimate-response-id"></a>
 The unique identifier of the retrieved workload estimate.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` 

 ** [name](#API_AWSBCMPricingCalculator_GetWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetWorkloadEstimate-response-name"></a>
 The name of the retrieved workload estimate.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-]+` 

 ** [rateTimestamp](#API_AWSBCMPricingCalculator_GetWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetWorkloadEstimate-response-rateTimestamp"></a>
 The timestamp of the pricing rates used for the estimate.   
Type: Timestamp

 ** [rateType](#API_AWSBCMPricingCalculator_GetWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetWorkloadEstimate-response-rateType"></a>
 The type of pricing rates used for the estimate.   
Type: String  
Valid Values: `BEFORE_DISCOUNTS | AFTER_DISCOUNTS | AFTER_DISCOUNTS_AND_COMMITMENTS` 

 ** [status](#API_AWSBCMPricingCalculator_GetWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetWorkloadEstimate-response-status"></a>
 The current status of the workload estimate.   
Type: String  
Valid Values: `UPDATING | VALID | INVALID | ACTION_NEEDED` 

 ** [totalCost](#API_AWSBCMPricingCalculator_GetWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_GetWorkloadEstimate-response-totalCost"></a>
 The total estimated cost for the workload.   
Type: Double

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/GetWorkloadEstimate) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/GetWorkloadEstimate) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/GetWorkloadEstimate) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/GetWorkloadEstimate) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/GetWorkloadEstimate) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/GetWorkloadEstimate) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/GetWorkloadEstimate) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/GetWorkloadEstimate) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/GetWorkloadEstimate) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/GetWorkloadEstimate) 

# ListBillEstimateCommitments


 Lists the commitments associated with a bill estimate. 

## Request Syntax


```
{
   "billEstimateId": "string",
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [billEstimateId](#API_AWSBCMPricingCalculator_ListBillEstimateCommitments_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateCommitments-request-billEstimateId"></a>
 The unique identifier of the bill estimate to list commitments for.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [maxResults](#API_AWSBCMPricingCalculator_ListBillEstimateCommitments_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateCommitments-request-maxResults"></a>
 The maximum number of results to return per page.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 25.  
Required: No

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillEstimateCommitments_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateCommitments-request-nextToken"></a>
 A token to retrieve the next page of results.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "items": [ 
      { 
         "id": "string",
         "monthlyPayment": { 
            "amount": number,
            "currency": "string"
         },
         "offeringId": "string",
         "paymentOption": "string",
         "purchaseAgreementType": "string",
         "region": "string",
         "termLength": "string",
         "upfrontPayment": { 
            "amount": number,
            "currency": "string"
         },
         "usageAccountId": "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.

 ** [items](#API_AWSBCMPricingCalculator_ListBillEstimateCommitments_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateCommitments-response-items"></a>
 The list of commitments associated with the bill estimate.   
Type: Array of [BillEstimateCommitmentSummary](API_AWSBCMPricingCalculator_BillEstimateCommitmentSummary.md) objects

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillEstimateCommitments_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateCommitments-response-nextToken"></a>
 A token to retrieve the next page of results, if any.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/ListBillEstimateCommitments) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/ListBillEstimateCommitments) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/ListBillEstimateCommitments) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/ListBillEstimateCommitments) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/ListBillEstimateCommitments) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/ListBillEstimateCommitments) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/ListBillEstimateCommitments) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/ListBillEstimateCommitments) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/ListBillEstimateCommitments) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/ListBillEstimateCommitments) 

# ListBillEstimateInputCommitmentModifications


 Lists the input commitment modifications associated with a bill estimate. 

## Request Syntax


```
{
   "billEstimateId": "string",
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [billEstimateId](#API_AWSBCMPricingCalculator_ListBillEstimateInputCommitmentModifications_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateInputCommitmentModifications-request-billEstimateId"></a>
 The unique identifier of the bill estimate to list input commitment modifications for.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [maxResults](#API_AWSBCMPricingCalculator_ListBillEstimateInputCommitmentModifications_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateInputCommitmentModifications-request-maxResults"></a>
 The maximum number of results to return per page.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 25.  
Required: No

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillEstimateInputCommitmentModifications_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateInputCommitmentModifications-request-nextToken"></a>
 A token to retrieve the next page of results.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "items": [ 
      { 
         "commitmentAction": { ... },
         "group": "string",
         "id": "string",
         "usageAccountId": "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.

 ** [items](#API_AWSBCMPricingCalculator_ListBillEstimateInputCommitmentModifications_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateInputCommitmentModifications-response-items"></a>
 The list of input commitment modifications associated with the bill estimate.   
Type: Array of [BillEstimateInputCommitmentModificationSummary](API_AWSBCMPricingCalculator_BillEstimateInputCommitmentModificationSummary.md) objects

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillEstimateInputCommitmentModifications_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateInputCommitmentModifications-response-nextToken"></a>
 A token to retrieve the next page of results, if any.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputCommitmentModifications) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputCommitmentModifications) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputCommitmentModifications) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputCommitmentModifications) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputCommitmentModifications) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputCommitmentModifications) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputCommitmentModifications) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputCommitmentModifications) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputCommitmentModifications) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputCommitmentModifications) 

# ListBillEstimateInputUsageModifications


 Lists the input usage modifications associated with a bill estimate. 

## Request Syntax


```
{
   "billEstimateId": "string",
   "filters": [ 
      { 
         "matchOption": "string",
         "name": "string",
         "values": [ "string" ]
      }
   ],
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [billEstimateId](#API_AWSBCMPricingCalculator_ListBillEstimateInputUsageModifications_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateInputUsageModifications-request-billEstimateId"></a>
 The unique identifier of the bill estimate to list input usage modifications for.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [filters](#API_AWSBCMPricingCalculator_ListBillEstimateInputUsageModifications_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateInputUsageModifications-request-filters"></a>
 Filters to apply to the list of input usage modifications.   
Type: Array of [ListUsageFilter](API_AWSBCMPricingCalculator_ListUsageFilter.md) objects  
Required: No

 ** [maxResults](#API_AWSBCMPricingCalculator_ListBillEstimateInputUsageModifications_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateInputUsageModifications-request-maxResults"></a>
 The maximum number of results to return per page.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 25.  
Required: No

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillEstimateInputUsageModifications_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateInputUsageModifications-request-nextToken"></a>
 A token to retrieve the next page of results.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "items": [ 
      { 
         "availabilityZone": "string",
         "group": "string",
         "historicalUsage": { 
            "billInterval": { 
               "end": number,
               "start": number
            },
            "filterExpression": { 
               "and": [ 
                  "Expression"
               ],
               "costCategories": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "dimensions": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "not": "Expression",
               "or": [ 
                  "Expression"
               ],
               "tags": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               }
            },
            "location": "string",
            "operation": "string",
            "serviceCode": "string",
            "usageAccountId": "string",
            "usageType": "string"
         },
         "id": "string",
         "location": "string",
         "operation": "string",
         "quantities": [ 
            { 
               "amount": number,
               "startHour": number,
               "unit": "string"
            }
         ],
         "serviceCode": "string",
         "usageAccountId": "string",
         "usageType": "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.

 ** [items](#API_AWSBCMPricingCalculator_ListBillEstimateInputUsageModifications_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateInputUsageModifications-response-items"></a>
 The list of input usage modifications associated with the bill estimate.   
Type: Array of [BillEstimateInputUsageModificationSummary](API_AWSBCMPricingCalculator_BillEstimateInputUsageModificationSummary.md) objects

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillEstimateInputUsageModifications_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateInputUsageModifications-response-nextToken"></a>
 A token to retrieve the next page of results, if any.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputUsageModifications) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputUsageModifications) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputUsageModifications) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputUsageModifications) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputUsageModifications) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputUsageModifications) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputUsageModifications) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputUsageModifications) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputUsageModifications) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/ListBillEstimateInputUsageModifications) 

# ListBillEstimateLineItems


 Lists the line items associated with a bill estimate. 

## Request Syntax


```
{
   "billEstimateId": "string",
   "filters": [ 
      { 
         "matchOption": "string",
         "name": "string",
         "values": [ "string" ]
      }
   ],
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [billEstimateId](#API_AWSBCMPricingCalculator_ListBillEstimateLineItems_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateLineItems-request-billEstimateId"></a>
 The unique identifier of the bill estimate to list line items for.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [filters](#API_AWSBCMPricingCalculator_ListBillEstimateLineItems_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateLineItems-request-filters"></a>
 Filters to apply to the list of line items.   
Type: Array of [ListBillEstimateLineItemsFilter](API_AWSBCMPricingCalculator_ListBillEstimateLineItemsFilter.md) objects  
Required: No

 ** [maxResults](#API_AWSBCMPricingCalculator_ListBillEstimateLineItems_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateLineItems-request-maxResults"></a>
 The maximum number of results to return per page.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 25.  
Required: No

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillEstimateLineItems_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateLineItems-request-nextToken"></a>
 A token to retrieve the next page of results.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "items": [ 
      { 
         "availabilityZone": "string",
         "estimatedCost": { 
            "amount": number,
            "currency": "string"
         },
         "estimatedUsageQuantity": { 
            "amount": number,
            "unit": "string"
         },
         "historicalCost": { 
            "amount": number,
            "currency": "string"
         },
         "historicalUsageQuantity": { 
            "amount": number,
            "unit": "string"
         },
         "id": "string",
         "lineItemId": "string",
         "lineItemType": "string",
         "location": "string",
         "operation": "string",
         "payerAccountId": "string",
         "savingsPlanArns": [ "string" ],
         "serviceCode": "string",
         "usageAccountId": "string",
         "usageType": "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.

 ** [items](#API_AWSBCMPricingCalculator_ListBillEstimateLineItems_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateLineItems-response-items"></a>
 The list of line items associated with the bill estimate.   
Type: Array of [BillEstimateLineItemSummary](API_AWSBCMPricingCalculator_BillEstimateLineItemSummary.md) objects

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillEstimateLineItems_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimateLineItems-response-nextToken"></a>
 A token to retrieve the next page of results, if any.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/ListBillEstimateLineItems) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/ListBillEstimateLineItems) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/ListBillEstimateLineItems) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/ListBillEstimateLineItems) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/ListBillEstimateLineItems) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/ListBillEstimateLineItems) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/ListBillEstimateLineItems) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/ListBillEstimateLineItems) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/ListBillEstimateLineItems) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/ListBillEstimateLineItems) 

# ListBillEstimates


 Lists all bill estimates for the account. 

## Request Syntax


```
{
   "createdAtFilter": { 
      "afterTimestamp": number,
      "beforeTimestamp": number
   },
   "expiresAtFilter": { 
      "afterTimestamp": number,
      "beforeTimestamp": number
   },
   "filters": [ 
      { 
         "matchOption": "string",
         "name": "string",
         "values": [ "string" ]
      }
   ],
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [createdAtFilter](#API_AWSBCMPricingCalculator_ListBillEstimates_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimates-request-createdAtFilter"></a>
 Filter bill estimates based on the creation date.   
Type: [FilterTimestamp](API_AWSBCMPricingCalculator_FilterTimestamp.md) object  
Required: No

 ** [expiresAtFilter](#API_AWSBCMPricingCalculator_ListBillEstimates_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimates-request-expiresAtFilter"></a>
 Filter bill estimates based on the expiration date.   
Type: [FilterTimestamp](API_AWSBCMPricingCalculator_FilterTimestamp.md) object  
Required: No

 ** [filters](#API_AWSBCMPricingCalculator_ListBillEstimates_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimates-request-filters"></a>
 Filters to apply to the list of bill estimates.   
Type: Array of [ListBillEstimatesFilter](API_AWSBCMPricingCalculator_ListBillEstimatesFilter.md) objects  
Required: No

 ** [maxResults](#API_AWSBCMPricingCalculator_ListBillEstimates_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimates-request-maxResults"></a>
 The maximum number of results to return per page.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 25.  
Required: No

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillEstimates_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimates-request-nextToken"></a>
 A token to retrieve the next page of results.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "items": [ 
      { 
         "billInterval": { 
            "end": number,
            "start": number
         },
         "createdAt": number,
         "expiresAt": number,
         "id": "string",
         "name": "string",
         "status": "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.

 ** [items](#API_AWSBCMPricingCalculator_ListBillEstimates_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimates-response-items"></a>
 The list of bill estimates for the account.   
Type: Array of [BillEstimateSummary](API_AWSBCMPricingCalculator_BillEstimateSummary.md) objects

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillEstimates_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillEstimates-response-nextToken"></a>
 A token to retrieve the next page of results, if any.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/ListBillEstimates) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/ListBillEstimates) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/ListBillEstimates) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/ListBillEstimates) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/ListBillEstimates) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/ListBillEstimates) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/ListBillEstimates) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/ListBillEstimates) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/ListBillEstimates) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/ListBillEstimates) 

# ListBillScenarioCommitmentModifications


 Lists the commitment modifications associated with a bill scenario. 

## Request Syntax


```
{
   "billScenarioId": "string",
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [billScenarioId](#API_AWSBCMPricingCalculator_ListBillScenarioCommitmentModifications_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarioCommitmentModifications-request-billScenarioId"></a>
 The unique identifier of the bill scenario to list commitment modifications for.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [maxResults](#API_AWSBCMPricingCalculator_ListBillScenarioCommitmentModifications_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarioCommitmentModifications-request-maxResults"></a>
 The maximum number of results to return per page.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 25.  
Required: No

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillScenarioCommitmentModifications_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarioCommitmentModifications-request-nextToken"></a>
 A token to retrieve the next page of results.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "items": [ 
      { 
         "commitmentAction": { ... },
         "group": "string",
         "id": "string",
         "usageAccountId": "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.

 ** [items](#API_AWSBCMPricingCalculator_ListBillScenarioCommitmentModifications_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarioCommitmentModifications-response-items"></a>
 The list of commitment modifications associated with the bill scenario.   
Type: Array of [BillScenarioCommitmentModificationItem](API_AWSBCMPricingCalculator_BillScenarioCommitmentModificationItem.md) objects

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillScenarioCommitmentModifications_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarioCommitmentModifications-response-nextToken"></a>
 A token to retrieve the next page of results, if any.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/ListBillScenarioCommitmentModifications) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/ListBillScenarioCommitmentModifications) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/ListBillScenarioCommitmentModifications) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/ListBillScenarioCommitmentModifications) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/ListBillScenarioCommitmentModifications) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/ListBillScenarioCommitmentModifications) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/ListBillScenarioCommitmentModifications) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/ListBillScenarioCommitmentModifications) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/ListBillScenarioCommitmentModifications) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/ListBillScenarioCommitmentModifications) 

# ListBillScenarios


 Lists all bill scenarios for the account. 

## Request Syntax


```
{
   "createdAtFilter": { 
      "afterTimestamp": number,
      "beforeTimestamp": number
   },
   "expiresAtFilter": { 
      "afterTimestamp": number,
      "beforeTimestamp": number
   },
   "filters": [ 
      { 
         "matchOption": "string",
         "name": "string",
         "values": [ "string" ]
      }
   ],
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [createdAtFilter](#API_AWSBCMPricingCalculator_ListBillScenarios_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarios-request-createdAtFilter"></a>
 Filter bill scenarios based on the creation date.   
Type: [FilterTimestamp](API_AWSBCMPricingCalculator_FilterTimestamp.md) object  
Required: No

 ** [expiresAtFilter](#API_AWSBCMPricingCalculator_ListBillScenarios_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarios-request-expiresAtFilter"></a>
 Filter bill scenarios based on the expiration date.   
Type: [FilterTimestamp](API_AWSBCMPricingCalculator_FilterTimestamp.md) object  
Required: No

 ** [filters](#API_AWSBCMPricingCalculator_ListBillScenarios_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarios-request-filters"></a>
 Filters to apply to the list of bill scenarios.   
Type: Array of [ListBillScenariosFilter](API_AWSBCMPricingCalculator_ListBillScenariosFilter.md) objects  
Required: No

 ** [maxResults](#API_AWSBCMPricingCalculator_ListBillScenarios_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarios-request-maxResults"></a>
 The maximum number of results to return per page.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 25.  
Required: No

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillScenarios_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarios-request-nextToken"></a>
 A token to retrieve the next page of results.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "items": [ 
      { 
         "billInterval": { 
            "end": number,
            "start": number
         },
         "costCategoryGroupSharingPreferenceArn": "string",
         "createdAt": number,
         "expiresAt": number,
         "failureMessage": "string",
         "groupSharingPreference": "string",
         "id": "string",
         "name": "string",
         "status": "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.

 ** [items](#API_AWSBCMPricingCalculator_ListBillScenarios_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarios-response-items"></a>
 The list of bill scenarios for the account.   
Type: Array of [BillScenarioSummary](API_AWSBCMPricingCalculator_BillScenarioSummary.md) objects

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillScenarios_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarios-response-nextToken"></a>
 A token to retrieve the next page of results, if any.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/ListBillScenarios) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/ListBillScenarios) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/ListBillScenarios) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/ListBillScenarios) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/ListBillScenarios) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/ListBillScenarios) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/ListBillScenarios) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/ListBillScenarios) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/ListBillScenarios) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/ListBillScenarios) 

# ListBillScenarioUsageModifications


 Lists the usage modifications associated with a bill scenario. 

## Request Syntax


```
{
   "billScenarioId": "string",
   "filters": [ 
      { 
         "matchOption": "string",
         "name": "string",
         "values": [ "string" ]
      }
   ],
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [billScenarioId](#API_AWSBCMPricingCalculator_ListBillScenarioUsageModifications_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarioUsageModifications-request-billScenarioId"></a>
 The unique identifier of the bill scenario to list usage modifications for.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [filters](#API_AWSBCMPricingCalculator_ListBillScenarioUsageModifications_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarioUsageModifications-request-filters"></a>
 Filters to apply to the list of usage modifications.   
Type: Array of [ListUsageFilter](API_AWSBCMPricingCalculator_ListUsageFilter.md) objects  
Required: No

 ** [maxResults](#API_AWSBCMPricingCalculator_ListBillScenarioUsageModifications_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarioUsageModifications-request-maxResults"></a>
 The maximum number of results to return per page.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 25.  
Required: No

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillScenarioUsageModifications_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarioUsageModifications-request-nextToken"></a>
 A token to retrieve the next page of results.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "items": [ 
      { 
         "availabilityZone": "string",
         "group": "string",
         "historicalUsage": { 
            "billInterval": { 
               "end": number,
               "start": number
            },
            "filterExpression": { 
               "and": [ 
                  "Expression"
               ],
               "costCategories": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "dimensions": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "not": "Expression",
               "or": [ 
                  "Expression"
               ],
               "tags": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               }
            },
            "location": "string",
            "operation": "string",
            "serviceCode": "string",
            "usageAccountId": "string",
            "usageType": "string"
         },
         "id": "string",
         "location": "string",
         "operation": "string",
         "quantities": [ 
            { 
               "amount": number,
               "startHour": number,
               "unit": "string"
            }
         ],
         "serviceCode": "string",
         "usageAccountId": "string",
         "usageType": "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.

 ** [items](#API_AWSBCMPricingCalculator_ListBillScenarioUsageModifications_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarioUsageModifications-response-items"></a>
 The list of usage modifications associated with the bill scenario.   
Type: Array of [BillScenarioUsageModificationItem](API_AWSBCMPricingCalculator_BillScenarioUsageModificationItem.md) objects

 ** [nextToken](#API_AWSBCMPricingCalculator_ListBillScenarioUsageModifications_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListBillScenarioUsageModifications-response-nextToken"></a>
 A token to retrieve the next page of results, if any.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/ListBillScenarioUsageModifications) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/ListBillScenarioUsageModifications) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/ListBillScenarioUsageModifications) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/ListBillScenarioUsageModifications) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/ListBillScenarioUsageModifications) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/ListBillScenarioUsageModifications) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/ListBillScenarioUsageModifications) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/ListBillScenarioUsageModifications) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/ListBillScenarioUsageModifications) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/ListBillScenarioUsageModifications) 

# ListTagsForResource


 Lists all tags associated with a specified resource. 

## Request Syntax


```
{
   "arn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_AWSBCMPricingCalculator_ListTagsForResource_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListTagsForResource-request-arn"></a>
 The Amazon Resource Name (ARN) of the resource to list tags for.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-pricing-calculator:[-a-z0-9]*:[0-9]{12}:[-a-z0-9/:_]+`   
Required: Yes

## Response Syntax


```
{
   "tags": { 
      "string" : "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.

 ** [tags](#API_AWSBCMPricingCalculator_ListTagsForResource_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListTagsForResource-response-tags"></a>
 The list of tags associated with the specified resource.   
Type: String to string map  
Map Entries: Minimum number of 0 items. Maximum number of 200 items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `[\w\s:+=@/-]+`   
Value Length Constraints: Minimum length of 0. Maximum length of 256.  
Value Pattern: `[\w\s:+=@/-]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/ListTagsForResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/ListTagsForResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/ListTagsForResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/ListTagsForResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/ListTagsForResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/ListTagsForResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/ListTagsForResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/ListTagsForResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/ListTagsForResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/ListTagsForResource) 

# ListWorkloadEstimates


 Lists all workload estimates for the account. 

## Request Syntax


```
{
   "createdAtFilter": { 
      "afterTimestamp": number,
      "beforeTimestamp": number
   },
   "expiresAtFilter": { 
      "afterTimestamp": number,
      "beforeTimestamp": number
   },
   "filters": [ 
      { 
         "matchOption": "string",
         "name": "string",
         "values": [ "string" ]
      }
   ],
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [createdAtFilter](#API_AWSBCMPricingCalculator_ListWorkloadEstimates_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListWorkloadEstimates-request-createdAtFilter"></a>
 Filter workload estimates based on the creation date.   
Type: [FilterTimestamp](API_AWSBCMPricingCalculator_FilterTimestamp.md) object  
Required: No

 ** [expiresAtFilter](#API_AWSBCMPricingCalculator_ListWorkloadEstimates_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListWorkloadEstimates-request-expiresAtFilter"></a>
 Filter workload estimates based on the expiration date.   
Type: [FilterTimestamp](API_AWSBCMPricingCalculator_FilterTimestamp.md) object  
Required: No

 ** [filters](#API_AWSBCMPricingCalculator_ListWorkloadEstimates_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListWorkloadEstimates-request-filters"></a>
 Filters to apply to the list of workload estimates.   
Type: Array of [ListWorkloadEstimatesFilter](API_AWSBCMPricingCalculator_ListWorkloadEstimatesFilter.md) objects  
Required: No

 ** [maxResults](#API_AWSBCMPricingCalculator_ListWorkloadEstimates_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListWorkloadEstimates-request-maxResults"></a>
 The maximum number of results to return per page.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 25.  
Required: No

 ** [nextToken](#API_AWSBCMPricingCalculator_ListWorkloadEstimates_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListWorkloadEstimates-request-nextToken"></a>
 A token to retrieve the next page of results.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "items": [ 
      { 
         "costCurrency": "string",
         "createdAt": number,
         "expiresAt": number,
         "failureMessage": "string",
         "id": "string",
         "name": "string",
         "rateTimestamp": number,
         "rateType": "string",
         "status": "string",
         "totalCost": number
      }
   ],
   "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.

 ** [items](#API_AWSBCMPricingCalculator_ListWorkloadEstimates_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListWorkloadEstimates-response-items"></a>
 The list of workload estimates for the account.   
Type: Array of [WorkloadEstimateSummary](API_AWSBCMPricingCalculator_WorkloadEstimateSummary.md) objects

 ** [nextToken](#API_AWSBCMPricingCalculator_ListWorkloadEstimates_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListWorkloadEstimates-response-nextToken"></a>
 A token to retrieve the next page of results, if any.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimates) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimates) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimates) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimates) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimates) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimates) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimates) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimates) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimates) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimates) 

# ListWorkloadEstimateUsage


 Lists the usage associated with a workload estimate. 

## Request Syntax


```
{
   "filters": [ 
      { 
         "matchOption": "string",
         "name": "string",
         "values": [ "string" ]
      }
   ],
   "maxResults": number,
   "nextToken": "string",
   "workloadEstimateId": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [filters](#API_AWSBCMPricingCalculator_ListWorkloadEstimateUsage_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListWorkloadEstimateUsage-request-filters"></a>
 Filters to apply to the list of usage items.   
Type: Array of [ListUsageFilter](API_AWSBCMPricingCalculator_ListUsageFilter.md) objects  
Required: No

 ** [maxResults](#API_AWSBCMPricingCalculator_ListWorkloadEstimateUsage_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListWorkloadEstimateUsage-request-maxResults"></a>
 The maximum number of results to return per page.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 300.  
Required: No

 ** [nextToken](#API_AWSBCMPricingCalculator_ListWorkloadEstimateUsage_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListWorkloadEstimateUsage-request-nextToken"></a>
 A token to retrieve the next page of results.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*`   
Required: No

 ** [workloadEstimateId](#API_AWSBCMPricingCalculator_ListWorkloadEstimateUsage_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListWorkloadEstimateUsage-request-workloadEstimateId"></a>
 The unique identifier of the workload estimate to list usage for.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

## Response Syntax


```
{
   "items": [ 
      { 
         "cost": number,
         "currency": "string",
         "group": "string",
         "historicalUsage": { 
            "billInterval": { 
               "end": number,
               "start": number
            },
            "filterExpression": { 
               "and": [ 
                  "Expression"
               ],
               "costCategories": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "dimensions": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               },
               "not": "Expression",
               "or": [ 
                  "Expression"
               ],
               "tags": { 
                  "key": "string",
                  "matchOptions": [ "string" ],
                  "values": [ "string" ]
               }
            },
            "location": "string",
            "operation": "string",
            "serviceCode": "string",
            "usageAccountId": "string",
            "usageType": "string"
         },
         "id": "string",
         "location": "string",
         "operation": "string",
         "quantity": { 
            "amount": number,
            "unit": "string"
         },
         "serviceCode": "string",
         "status": "string",
         "usageAccountId": "string",
         "usageType": "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.

 ** [items](#API_AWSBCMPricingCalculator_ListWorkloadEstimateUsage_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListWorkloadEstimateUsage-response-items"></a>
 The list of usage items associated with the workload estimate.   
Type: Array of [WorkloadEstimateUsageItem](API_AWSBCMPricingCalculator_WorkloadEstimateUsageItem.md) objects

 ** [nextToken](#API_AWSBCMPricingCalculator_ListWorkloadEstimateUsage_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_ListWorkloadEstimateUsage-response-nextToken"></a>
 A token to retrieve the next page of results, if any.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2048.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimateUsage) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimateUsage) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimateUsage) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimateUsage) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimateUsage) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimateUsage) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimateUsage) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimateUsage) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimateUsage) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/ListWorkloadEstimateUsage) 

# TagResource


 Adds one or more tags to a specified resource. 

## Request Syntax


```
{
   "arn": "string",
   "tags": { 
      "string" : "string" 
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_AWSBCMPricingCalculator_TagResource_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_TagResource-request-arn"></a>
 The Amazon Resource Name (ARN) of the resource to add tags to.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-pricing-calculator:[-a-z0-9]*:[0-9]{12}:[-a-z0-9/:_]+`   
Required: Yes

 ** [tags](#API_AWSBCMPricingCalculator_TagResource_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_TagResource-request-tags"></a>
 The tags to add to the resource.   
Type: String to string map  
Map Entries: Minimum number of 0 items. Maximum number of 200 items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `[\w\s:+=@/-]+`   
Value Length Constraints: Minimum length of 0. Maximum length of 256.  
Value Pattern: `[\w\s:+=@/-]*`   
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
 The request would cause you to exceed your service quota.     
 ** quotaCode **   
 The quota code that was exceeded.   
 ** resourceId **   
 The identifier of the resource that exceeded quota.   
 ** resourceType **   
 The type of the resource that exceeded quota.   
 ** serviceCode **   
 The service code that exceeded quota. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/TagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/TagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/TagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/TagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/TagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/TagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/TagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/TagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/TagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/TagResource) 

# UntagResource


 Removes one or more tags from a specified resource. 

## Request Syntax


```
{
   "arn": "string",
   "tagKeys": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_AWSBCMPricingCalculator_UntagResource_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UntagResource-request-arn"></a>
 The Amazon Resource Name (ARN) of the resource to remove tags from.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:bcm-pricing-calculator:[-a-z0-9]*:[0-9]{12}:[-a-z0-9/:_]+`   
Required: Yes

 ** [tagKeys](#API_AWSBCMPricingCalculator_UntagResource_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UntagResource-request-tagKeys"></a>
 The keys of the tags to remove from the resource.   
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[\w\s:+=@/-]+`   
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/UntagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/UntagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/UntagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/UntagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/UntagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/UntagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/UntagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/UntagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/UntagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/UntagResource) 

# UpdateBillEstimate


 Updates an existing bill estimate. 

## Request Syntax


```
{
   "expiresAt": number,
   "identifier": "string",
   "name": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [expiresAt](#API_AWSBCMPricingCalculator_UpdateBillEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillEstimate-request-expiresAt"></a>
 The new expiration date for the bill estimate.   
Type: Timestamp  
Required: No

 ** [identifier](#API_AWSBCMPricingCalculator_UpdateBillEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillEstimate-request-identifier"></a>
 The unique identifier of the bill estimate to update.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [name](#API_AWSBCMPricingCalculator_UpdateBillEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillEstimate-request-name"></a>
 The new name for the bill estimate.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-]+`   
Required: No

## Response Syntax


```
{
   "billInterval": { 
      "end": number,
      "start": number
   },
   "costCategoryGroupSharingPreferenceArn": "string",
   "costCategoryGroupSharingPreferenceEffectiveDate": number,
   "costSummary": { 
      "serviceCostDifferences": { 
         "string" : { 
            "estimatedCost": { 
               "amount": number,
               "currency": "string"
            },
            "historicalCost": { 
               "amount": number,
               "currency": "string"
            }
         }
      },
      "totalCostDifference": { 
         "estimatedCost": { 
            "amount": number,
            "currency": "string"
         },
         "historicalCost": { 
            "amount": number,
            "currency": "string"
         }
      }
   },
   "createdAt": number,
   "expiresAt": number,
   "failureMessage": "string",
   "groupSharingPreference": "string",
   "id": "string",
   "name": "string",
   "status": "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.

 ** [billInterval](#API_AWSBCMPricingCalculator_UpdateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillEstimate-response-billInterval"></a>
 The time period covered by the updated bill estimate.   
Type: [BillInterval](API_AWSBCMPricingCalculator_BillInterval.md) object

 ** [costCategoryGroupSharingPreferenceArn](#API_AWSBCMPricingCalculator_UpdateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillEstimate-response-costCategoryGroupSharingPreferenceArn"></a>
The arn of the cost category used in the reserved and prioritized group sharing.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:ce::[0-9]{12}:costcategory/[a-f0-9-]{36}` 

 ** [costCategoryGroupSharingPreferenceEffectiveDate](#API_AWSBCMPricingCalculator_UpdateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillEstimate-response-costCategoryGroupSharingPreferenceEffectiveDate"></a>
Timestamp of the effective date of the cost category used in the group sharing settings.  
Type: Timestamp

 ** [costSummary](#API_AWSBCMPricingCalculator_UpdateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillEstimate-response-costSummary"></a>
 A summary of the updated estimated costs.   
Type: [BillEstimateCostSummary](API_AWSBCMPricingCalculator_BillEstimateCostSummary.md) object

 ** [createdAt](#API_AWSBCMPricingCalculator_UpdateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillEstimate-response-createdAt"></a>
 The timestamp when the bill estimate was originally created.   
Type: Timestamp

 ** [expiresAt](#API_AWSBCMPricingCalculator_UpdateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillEstimate-response-expiresAt"></a>
 The updated expiration timestamp for the bill estimate.   
Type: Timestamp

 ** [failureMessage](#API_AWSBCMPricingCalculator_UpdateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillEstimate-response-failureMessage"></a>
 An error message if the bill estimate update failed.   
Type: String

 ** [groupSharingPreference](#API_AWSBCMPricingCalculator_UpdateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillEstimate-response-groupSharingPreference"></a>
The setting for the reserved instance and savings plans group sharing used in this estimate.  
Type: String  
Valid Values: `OPEN | PRIORITIZED | RESTRICTED` 

 ** [id](#API_AWSBCMPricingCalculator_UpdateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillEstimate-response-id"></a>
 The unique identifier of the updated bill estimate.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` 

 ** [name](#API_AWSBCMPricingCalculator_UpdateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillEstimate-response-name"></a>
 The updated name of the bill estimate.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-]+` 

 ** [status](#API_AWSBCMPricingCalculator_UpdateBillEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillEstimate-response-status"></a>
 The current status of the updated bill estimate.   
Type: String  
Valid Values: `IN_PROGRESS | COMPLETE | FAILED` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** ConflictException **   
 The request could not be processed because of conflict in the current state of the resource.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/UpdateBillEstimate) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/UpdateBillEstimate) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/UpdateBillEstimate) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/UpdateBillEstimate) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/UpdateBillEstimate) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/UpdateBillEstimate) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/UpdateBillEstimate) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/UpdateBillEstimate) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/UpdateBillEstimate) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/UpdateBillEstimate) 

# UpdateBillScenario


 Updates an existing bill scenario. 

## Request Syntax


```
{
   "costCategoryGroupSharingPreferenceArn": "string",
   "expiresAt": number,
   "groupSharingPreference": "string",
   "identifier": "string",
   "name": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [costCategoryGroupSharingPreferenceArn](#API_AWSBCMPricingCalculator_UpdateBillScenario_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillScenario-request-costCategoryGroupSharingPreferenceArn"></a>
The arn of the cost category used in the reserved and prioritized group sharing.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:ce::[0-9]{12}:costcategory/[a-f0-9-]{36}`   
Required: No

 ** [expiresAt](#API_AWSBCMPricingCalculator_UpdateBillScenario_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillScenario-request-expiresAt"></a>
 The new expiration date for the bill scenario.   
Type: Timestamp  
Required: No

 ** [groupSharingPreference](#API_AWSBCMPricingCalculator_UpdateBillScenario_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillScenario-request-groupSharingPreference"></a>
The setting for the reserved instance and savings plans group sharing used in this estimate.  
Type: String  
Valid Values: `OPEN | PRIORITIZED | RESTRICTED`   
Required: No

 ** [identifier](#API_AWSBCMPricingCalculator_UpdateBillScenario_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillScenario-request-identifier"></a>
 The unique identifier of the bill scenario to update.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [name](#API_AWSBCMPricingCalculator_UpdateBillScenario_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillScenario-request-name"></a>
 The new name for the bill scenario.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-]+`   
Required: No

## Response Syntax


```
{
   "billInterval": { 
      "end": number,
      "start": number
   },
   "costCategoryGroupSharingPreferenceArn": "string",
   "createdAt": number,
   "expiresAt": number,
   "failureMessage": "string",
   "groupSharingPreference": "string",
   "id": "string",
   "name": "string",
   "status": "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.

 ** [billInterval](#API_AWSBCMPricingCalculator_UpdateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillScenario-response-billInterval"></a>
 The time period covered by the updated bill scenario.   
Type: [BillInterval](API_AWSBCMPricingCalculator_BillInterval.md) object

 ** [costCategoryGroupSharingPreferenceArn](#API_AWSBCMPricingCalculator_UpdateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillScenario-response-costCategoryGroupSharingPreferenceArn"></a>
The arn of the cost category used in the reserved and prioritized group sharing.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:ce::[0-9]{12}:costcategory/[a-f0-9-]{36}` 

 ** [createdAt](#API_AWSBCMPricingCalculator_UpdateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillScenario-response-createdAt"></a>
 The timestamp when the bill scenario was originally created.   
Type: Timestamp

 ** [expiresAt](#API_AWSBCMPricingCalculator_UpdateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillScenario-response-expiresAt"></a>
 The updated expiration timestamp for the bill scenario.   
Type: Timestamp

 ** [failureMessage](#API_AWSBCMPricingCalculator_UpdateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillScenario-response-failureMessage"></a>
 An error message if the bill scenario update failed.   
Type: String

 ** [groupSharingPreference](#API_AWSBCMPricingCalculator_UpdateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillScenario-response-groupSharingPreference"></a>
The setting for the reserved instance and savings plans group sharing used in this estimate.  
Type: String  
Valid Values: `OPEN | PRIORITIZED | RESTRICTED` 

 ** [id](#API_AWSBCMPricingCalculator_UpdateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillScenario-response-id"></a>
 The unique identifier of the updated bill scenario.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` 

 ** [name](#API_AWSBCMPricingCalculator_UpdateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillScenario-response-name"></a>
 The updated name of the bill scenario.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-]+` 

 ** [status](#API_AWSBCMPricingCalculator_UpdateBillScenario_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateBillScenario-response-status"></a>
 The current status of the updated bill scenario.   
Type: String  
Valid Values: `READY | LOCKED | FAILED | STALE` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** ConflictException **   
 The request could not be processed because of conflict in the current state of the resource.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/UpdateBillScenario) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/UpdateBillScenario) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/UpdateBillScenario) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/UpdateBillScenario) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/UpdateBillScenario) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/UpdateBillScenario) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/UpdateBillScenario) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/UpdateBillScenario) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/UpdateBillScenario) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/UpdateBillScenario) 

# UpdatePreferences


 Updates the preferences for Amazon Pricing Calculator. 

## Request Syntax


```
{
   "managementAccountRateTypeSelections": [ "string" ],
   "memberAccountRateTypeSelections": [ "string" ],
   "standaloneAccountRateTypeSelections": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [managementAccountRateTypeSelections](#API_AWSBCMPricingCalculator_UpdatePreferences_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdatePreferences-request-managementAccountRateTypeSelections"></a>
 The updated preferred rate types for the management account.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 3 items.  
Valid Values: `BEFORE_DISCOUNTS | AFTER_DISCOUNTS | AFTER_DISCOUNTS_AND_COMMITMENTS`   
Required: No

 ** [memberAccountRateTypeSelections](#API_AWSBCMPricingCalculator_UpdatePreferences_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdatePreferences-request-memberAccountRateTypeSelections"></a>
 The updated preferred rate types for member accounts.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 3 items.  
Valid Values: `BEFORE_DISCOUNTS | AFTER_DISCOUNTS | AFTER_DISCOUNTS_AND_COMMITMENTS`   
Required: No

 ** [standaloneAccountRateTypeSelections](#API_AWSBCMPricingCalculator_UpdatePreferences_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdatePreferences-request-standaloneAccountRateTypeSelections"></a>
 The updated preferred rate types for a standalone account.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 3 items.  
Valid Values: `BEFORE_DISCOUNTS | AFTER_DISCOUNTS | AFTER_DISCOUNTS_AND_COMMITMENTS`   
Required: No

## Response Syntax


```
{
   "managementAccountRateTypeSelections": [ "string" ],
   "memberAccountRateTypeSelections": [ "string" ],
   "standaloneAccountRateTypeSelections": [ "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.

 ** [managementAccountRateTypeSelections](#API_AWSBCMPricingCalculator_UpdatePreferences_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdatePreferences-response-managementAccountRateTypeSelections"></a>
 The updated preferred rate types for the management account.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 3 items.  
Valid Values: `BEFORE_DISCOUNTS | AFTER_DISCOUNTS | AFTER_DISCOUNTS_AND_COMMITMENTS` 

 ** [memberAccountRateTypeSelections](#API_AWSBCMPricingCalculator_UpdatePreferences_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdatePreferences-response-memberAccountRateTypeSelections"></a>
 The updated preferred rate types for member accounts.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 3 items.  
Valid Values: `BEFORE_DISCOUNTS | AFTER_DISCOUNTS | AFTER_DISCOUNTS_AND_COMMITMENTS` 

 ** [standaloneAccountRateTypeSelections](#API_AWSBCMPricingCalculator_UpdatePreferences_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdatePreferences-response-standaloneAccountRateTypeSelections"></a>
 The updated preferred rate types for a standalone account.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 3 items.  
Valid Values: `BEFORE_DISCOUNTS | AFTER_DISCOUNTS | AFTER_DISCOUNTS_AND_COMMITMENTS` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ServiceQuotaExceededException **   
 The request would cause you to exceed your service quota.     
 ** quotaCode **   
 The quota code that was exceeded.   
 ** resourceId **   
 The identifier of the resource that exceeded quota.   
 ** resourceType **   
 The type of the resource that exceeded quota.   
 ** serviceCode **   
 The service code that exceeded quota. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/UpdatePreferences) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/UpdatePreferences) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/UpdatePreferences) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/UpdatePreferences) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/UpdatePreferences) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/UpdatePreferences) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/UpdatePreferences) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/UpdatePreferences) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/UpdatePreferences) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/UpdatePreferences) 

# UpdateWorkloadEstimate


 Updates an existing workload estimate. 

## Request Syntax


```
{
   "expiresAt": number,
   "identifier": "string",
   "name": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [expiresAt](#API_AWSBCMPricingCalculator_UpdateWorkloadEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateWorkloadEstimate-request-expiresAt"></a>
 The new expiration date for the workload estimate.   
Type: Timestamp  
Required: No

 ** [identifier](#API_AWSBCMPricingCalculator_UpdateWorkloadEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateWorkloadEstimate-request-identifier"></a>
 The unique identifier of the workload estimate to update.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

 ** [name](#API_AWSBCMPricingCalculator_UpdateWorkloadEstimate_RequestSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateWorkloadEstimate-request-name"></a>
 The new name for the workload estimate.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-]+`   
Required: No

## Response Syntax


```
{
   "costCurrency": "string",
   "createdAt": number,
   "expiresAt": number,
   "failureMessage": "string",
   "id": "string",
   "name": "string",
   "rateTimestamp": number,
   "rateType": "string",
   "status": "string",
   "totalCost": 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.

 ** [costCurrency](#API_AWSBCMPricingCalculator_UpdateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateWorkloadEstimate-response-costCurrency"></a>
 The currency of the updated estimated cost.   
Type: String  
Valid Values: `USD` 

 ** [createdAt](#API_AWSBCMPricingCalculator_UpdateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateWorkloadEstimate-response-createdAt"></a>
 The timestamp when the workload estimate was originally created.   
Type: Timestamp

 ** [expiresAt](#API_AWSBCMPricingCalculator_UpdateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateWorkloadEstimate-response-expiresAt"></a>
 The updated expiration timestamp for the workload estimate.   
Type: Timestamp

 ** [failureMessage](#API_AWSBCMPricingCalculator_UpdateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateWorkloadEstimate-response-failureMessage"></a>
 An error message if the workload estimate update failed.   
Type: String

 ** [id](#API_AWSBCMPricingCalculator_UpdateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateWorkloadEstimate-response-id"></a>
 The unique identifier of the updated workload estimate.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` 

 ** [name](#API_AWSBCMPricingCalculator_UpdateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateWorkloadEstimate-response-name"></a>
 The updated name of the workload estimate.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-]+` 

 ** [rateTimestamp](#API_AWSBCMPricingCalculator_UpdateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateWorkloadEstimate-response-rateTimestamp"></a>
 The timestamp of the pricing rates used for the updated estimate.   
Type: Timestamp

 ** [rateType](#API_AWSBCMPricingCalculator_UpdateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateWorkloadEstimate-response-rateType"></a>
 The type of pricing rates used for the updated estimate.   
Type: String  
Valid Values: `BEFORE_DISCOUNTS | AFTER_DISCOUNTS | AFTER_DISCOUNTS_AND_COMMITMENTS` 

 ** [status](#API_AWSBCMPricingCalculator_UpdateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateWorkloadEstimate-response-status"></a>
 The current status of the updated workload estimate.   
Type: String  
Valid Values: `UPDATING | VALID | INVALID | ACTION_NEEDED` 

 ** [totalCost](#API_AWSBCMPricingCalculator_UpdateWorkloadEstimate_ResponseSyntax) **   <a name="awscostmanagement-AWSBCMPricingCalculator_UpdateWorkloadEstimate-response-totalCost"></a>
 The updated total estimated cost for the workload.   
Type: Double

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You do not have sufficient access to perform this action.   
HTTP Status Code: 400

 ** ConflictException **   
 The request could not be processed because of conflict in the current state of the resource.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** DataUnavailableException **   
 The requested data is currently unavailable.   
HTTP Status Code: 400

 ** InternalServerException **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support.     
 ** retryAfterSeconds **   
 An internal error has occurred. Retry your request, but if the problem persists, contact Amazon support. 
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified resource was not found.     
 ** resourceId **   
 The identifier of the resource that was not found.   
 ** resourceType **   
 The type of the resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
 The request was denied due to request throttling.     
 ** quotaCode **   
The quota code that exceeded the throttling limit.  
 ** retryAfterSeconds **   
The service code that exceeded the throttling limit. Retry your request, but if the problem persists, contact Amazon support.  
 ** serviceCode **   
The service code that exceeded the throttling limit.
HTTP Status Code: 400

 ** ValidationException **   
 The input provided fails to satisfy the constraints specified by an Amazon service.     
 ** fieldList **   
 The list of fields that are invalid.   
 ** reason **   
 The reason for the validation exception. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-pricing-calculator-2024-06-19/UpdateWorkloadEstimate) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-pricing-calculator-2024-06-19/UpdateWorkloadEstimate) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-pricing-calculator-2024-06-19/UpdateWorkloadEstimate) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-pricing-calculator-2024-06-19/UpdateWorkloadEstimate) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-pricing-calculator-2024-06-19/UpdateWorkloadEstimate) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-pricing-calculator-2024-06-19/UpdateWorkloadEstimate) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-pricing-calculator-2024-06-19/UpdateWorkloadEstimate) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-pricing-calculator-2024-06-19/UpdateWorkloadEstimate) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-pricing-calculator-2024-06-19/UpdateWorkloadEstimate) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-pricing-calculator-2024-06-19/UpdateWorkloadEstimate) 

# Amazon Billing and Cost Management Recommended Actions


The following actions are supported by Amazon Billing and Cost Management Recommended Actions:
+  [ListRecommendedActions](API_BillingAndCostManagementRecommendedActions_ListRecommendedActions.md) 

# ListRecommendedActions


Returns a list of recommended actions that match the filter criteria.

## Request Syntax


```
{
   "filter": { 
      "actions": [ 
         { 
            "key": "string",
            "matchOption": "string",
            "values": [ "string" ]
         }
      ]
   },
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [filter](#API_BillingAndCostManagementRecommendedActions_ListRecommendedActions_RequestSyntax) **   <a name="awscostmanagement-BillingAndCostManagementRecommendedActions_ListRecommendedActions-request-filter"></a>
The criteria that you want all returned recommended actions to match.  
Type: [RequestFilter](API_BillingAndCostManagementRecommendedActions_RequestFilter.md) object  
Required: No

 ** [maxResults](#API_BillingAndCostManagementRecommendedActions_ListRecommendedActions_RequestSyntax) **   <a name="awscostmanagement-BillingAndCostManagementRecommendedActions_ListRecommendedActions-request-maxResults"></a>
The maximum number of results to return in the response.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [nextToken](#API_BillingAndCostManagementRecommendedActions_ListRecommendedActions_RequestSyntax) **   <a name="awscostmanagement-BillingAndCostManagementRecommendedActions_ListRecommendedActions-request-nextToken"></a>
The pagination token that indicates the next set of results that you want to retrieve.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "nextToken": "string",
   "recommendedActions": [ 
      { 
         "accountId": "string",
         "context": { 
            "string" : "string" 
         },
         "feature": "string",
         "id": "string",
         "lastUpdatedTimeStamp": "string",
         "nextSteps": [ "string" ],
         "severity": "string",
         "type": "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.

 ** [nextToken](#API_BillingAndCostManagementRecommendedActions_ListRecommendedActions_ResponseSyntax) **   <a name="awscostmanagement-BillingAndCostManagementRecommendedActions_ListRecommendedActions-response-nextToken"></a>
The pagination token that indicates the next set of results that you want to retrieve.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 8192.  
Pattern: `[\S\s]*` 

 ** [recommendedActions](#API_BillingAndCostManagementRecommendedActions_ListRecommendedActions_ResponseSyntax) **   <a name="awscostmanagement-BillingAndCostManagementRecommendedActions_ListRecommendedActions-response-recommendedActions"></a>
The list of recommended actions that satisfy the filter criteria.  
Type: Array of [RecommendedAction](API_BillingAndCostManagementRecommendedActions_RecommendedAction.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You do not have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServerException **   
An unexpected error occurred during the processing of your request.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** fieldList **   
Lists each problematic field and why it failed validation.  
 ** reason **   
Provides a single, overarching explanation for the validation failure.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/bcm-recommended-actions-2024-11-14/ListRecommendedActions) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/bcm-recommended-actions-2024-11-14/ListRecommendedActions) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/bcm-recommended-actions-2024-11-14/ListRecommendedActions) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/bcm-recommended-actions-2024-11-14/ListRecommendedActions) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/bcm-recommended-actions-2024-11-14/ListRecommendedActions) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/bcm-recommended-actions-2024-11-14/ListRecommendedActions) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/bcm-recommended-actions-2024-11-14/ListRecommendedActions) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/bcm-recommended-actions-2024-11-14/ListRecommendedActions) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/bcm-recommended-actions-2024-11-14/ListRecommendedActions) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/bcm-recommended-actions-2024-11-14/ListRecommendedActions) 

# Amazon Billing


The following actions are supported by Amazon Billing:
+  [AssociateSourceViews](API_billing_AssociateSourceViews.md) 
+  [CreateBillingView](API_billing_CreateBillingView.md) 
+  [DeleteBillingView](API_billing_DeleteBillingView.md) 
+  [DisassociateSourceViews](API_billing_DisassociateSourceViews.md) 
+  [GetBillingView](API_billing_GetBillingView.md) 
+  [GetResourcePolicy](API_billing_GetResourcePolicy.md) 
+  [ListBillingViews](API_billing_ListBillingViews.md) 
+  [ListSourceViewsForBillingView](API_billing_ListSourceViewsForBillingView.md) 
+  [ListTagsForResource](API_billing_ListTagsForResource.md) 
+  [TagResource](API_billing_TagResource.md) 
+  [UntagResource](API_billing_UntagResource.md) 
+  [UpdateBillingView](API_billing_UpdateBillingView.md) 

# AssociateSourceViews


 Associates one or more source billing views with an existing billing view. This allows creating aggregate billing views that combine data from multiple sources. 

## Request Syntax


```
{
   "arn": "string",
   "sourceViews": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_billing_AssociateSourceViews_RequestSyntax) **   <a name="awscostmanagement-billing_AssociateSourceViews-request-arn"></a>
 The Amazon Resource Name (ARN) of the billing view to associate source views with.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]`   
Required: Yes

 ** [sourceViews](#API_billing_AssociateSourceViews_RequestSyntax) **   <a name="awscostmanagement-billing_AssociateSourceViews-request-sourceViews"></a>
 A list of ARNs of the source billing views to associate.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 10 items.  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]`   
Required: Yes

## Response Syntax


```
{
   "arn": "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.

 ** [arn](#API_billing_AssociateSourceViews_ResponseSyntax) **   <a name="awscostmanagement-billing_AssociateSourceViews-response-arn"></a>
 The ARN of the billing view that the source views were associated with.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.  
HTTP Status Code: 400

 ** BillingViewHealthStatusException **   
 Exception thrown when a billing view's health status prevents an operation from being performed. This may occur if the billing view is in a state other than `HEALTHY`.  
HTTP Status Code: 400

 ** ConflictException **   
 The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.     
 ** resourceId **   
 The identifier for the service resource associated with the request.   
 ** resourceType **   
 The type of resource associated with the request. 
HTTP Status Code: 400

 ** InternalServerException **   
The request processing failed because of an unknown error, exception, or failure.   
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.     
 ** resourceId **   
 Value is a list of resource IDs that were not found.   
 ** resourceType **   
 Value is the type of resource that was not found. 
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
 You've reached the limit of resources you can create, or exceeded the size of an individual resource.     
 ** quotaCode **   
 The container for the `quotaCode`.   
 ** resourceId **   
 The ID of the resource.   
 ** resourceType **   
 The type of Amazon resource.   
 ** serviceCode **   
 The container for the `serviceCode`. 
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.   
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
The input fails to satisfy the constraints specified by an Amazon service.  
 ** reason **   
The input fails to satisfy the constraints specified by an Amazon service.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/billing-2023-09-07/AssociateSourceViews) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/billing-2023-09-07/AssociateSourceViews) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/billing-2023-09-07/AssociateSourceViews) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/billing-2023-09-07/AssociateSourceViews) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/billing-2023-09-07/AssociateSourceViews) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/billing-2023-09-07/AssociateSourceViews) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/billing-2023-09-07/AssociateSourceViews) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/billing-2023-09-07/AssociateSourceViews) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/billing-2023-09-07/AssociateSourceViews) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/billing-2023-09-07/AssociateSourceViews) 

# CreateBillingView


 Creates a billing view with the specified billing view attributes. 

## Request Syntax


```
{
   "clientToken": "string",
   "dataFilterExpression": { 
      "costCategories": { 
         "key": "string",
         "values": [ "string" ]
      },
      "dimensions": { 
         "key": "string",
         "values": [ "string" ]
      },
      "tags": { 
         "key": "string",
         "values": [ "string" ]
      },
      "timeRange": { 
         "beginDateInclusive": number,
         "endDateInclusive": number
      }
   },
   "description": "string",
   "name": "string",
   "resourceTags": [ 
      { 
         "key": "string",
         "value": "string"
      }
   ],
   "sourceViews": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [clientToken](#API_billing_CreateBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_CreateBillingView-request-clientToken"></a>
A unique, case-sensitive identifier you specify to ensure idempotency of the request. Idempotency ensures that an API request completes no more than one time. If the original request completes successfully, any subsequent retries complete successfully without performing any further actions with an idempotent request.   
Type: String  
Pattern: `[a-zA-Z0-9-]+`   
Required: No

 ** [dataFilterExpression](#API_billing_CreateBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_CreateBillingView-request-dataFilterExpression"></a>
 See [Expression](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_billing_Expression.html). Billing view only supports `LINKED_ACCOUNT`, `Tags`, and `CostCategories`.   
Type: [Expression](API_billing_Expression.md) object  
Required: No

 ** [description](#API_billing_CreateBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_CreateBillingView-request-description"></a>
 The description of the billing view.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `([ a-zA-Z0-9_\+=\.\-@]+)?`   
Required: No

 ** [name](#API_billing_CreateBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_CreateBillingView-request-name"></a>
 The name of the billing view.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[ a-zA-Z0-9_\+=\.\-@]+`   
Required: Yes

 ** [resourceTags](#API_billing_CreateBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_CreateBillingView-request-resourceTags"></a>
A list of key value map specifying tags associated to the billing view being created.   
Type: Array of [ResourceTag](API_billing_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: No

 ** [sourceViews](#API_billing_CreateBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_CreateBillingView-request-sourceViews"></a>
A list of billing views used as the data source for the custom billing view.  
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 10 items.  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]`   
Required: Yes

## Response Syntax


```
{
   "arn": "string",
   "createdAt": 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.

 ** [arn](#API_billing_CreateBillingView_ResponseSyntax) **   <a name="awscostmanagement-billing_CreateBillingView-response-arn"></a>
 The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]` 

 ** [createdAt](#API_billing_CreateBillingView_ResponseSyntax) **   <a name="awscostmanagement-billing_CreateBillingView-response-createdAt"></a>
 The time when the billing view was created.   
Type: Timestamp

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.  
HTTP Status Code: 400

 ** BillingViewHealthStatusException **   
 Exception thrown when a billing view's health status prevents an operation from being performed. This may occur if the billing view is in a state other than `HEALTHY`.  
HTTP Status Code: 400

 ** ConflictException **   
 The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.     
 ** resourceId **   
 The identifier for the service resource associated with the request.   
 ** resourceType **   
 The type of resource associated with the request. 
HTTP Status Code: 400

 ** InternalServerException **   
The request processing failed because of an unknown error, exception, or failure.   
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.     
 ** resourceId **   
 Value is a list of resource IDs that were not found.   
 ** resourceType **   
 Value is the type of resource that was not found. 
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
 You've reached the limit of resources you can create, or exceeded the size of an individual resource.     
 ** quotaCode **   
 The container for the `quotaCode`.   
 ** resourceId **   
 The ID of the resource.   
 ** resourceType **   
 The type of Amazon resource.   
 ** serviceCode **   
 The container for the `serviceCode`. 
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.   
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
The input fails to satisfy the constraints specified by an Amazon service.  
 ** reason **   
The input fails to satisfy the constraints specified by an Amazon service.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/billing-2023-09-07/CreateBillingView) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/billing-2023-09-07/CreateBillingView) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/billing-2023-09-07/CreateBillingView) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/billing-2023-09-07/CreateBillingView) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/billing-2023-09-07/CreateBillingView) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/billing-2023-09-07/CreateBillingView) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/billing-2023-09-07/CreateBillingView) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/billing-2023-09-07/CreateBillingView) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/billing-2023-09-07/CreateBillingView) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/billing-2023-09-07/CreateBillingView) 

# DeleteBillingView


Deletes the specified billing view.

## Request Syntax


```
{
   "arn": "string",
   "force": boolean
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_billing_DeleteBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_DeleteBillingView-request-arn"></a>
 The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]`   
Required: Yes

 ** [force](#API_billing_DeleteBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_DeleteBillingView-request-force"></a>
 If set to true, forces deletion of the billing view even if it has derived resources (e.g. other billing views or budgets). Use with caution as this may break dependent resources.   
Type: Boolean  
Required: No

## Response Syntax


```
{
   "arn": "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.

 ** [arn](#API_billing_DeleteBillingView_ResponseSyntax) **   <a name="awscostmanagement-billing_DeleteBillingView-response-arn"></a>
 The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.  
HTTP Status Code: 400

 ** ConflictException **   
 The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.     
 ** resourceId **   
 The identifier for the service resource associated with the request.   
 ** resourceType **   
 The type of resource associated with the request. 
HTTP Status Code: 400

 ** InternalServerException **   
The request processing failed because of an unknown error, exception, or failure.   
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.   
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
The input fails to satisfy the constraints specified by an Amazon service.  
 ** reason **   
The input fails to satisfy the constraints specified by an Amazon service.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/billing-2023-09-07/DeleteBillingView) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/billing-2023-09-07/DeleteBillingView) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/billing-2023-09-07/DeleteBillingView) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/billing-2023-09-07/DeleteBillingView) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/billing-2023-09-07/DeleteBillingView) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/billing-2023-09-07/DeleteBillingView) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/billing-2023-09-07/DeleteBillingView) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/billing-2023-09-07/DeleteBillingView) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/billing-2023-09-07/DeleteBillingView) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/billing-2023-09-07/DeleteBillingView) 

# DisassociateSourceViews


 Removes the association between one or more source billing views and an existing billing view. This allows modifying the composition of aggregate billing views. 

## Request Syntax


```
{
   "arn": "string",
   "sourceViews": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_billing_DisassociateSourceViews_RequestSyntax) **   <a name="awscostmanagement-billing_DisassociateSourceViews-request-arn"></a>
 The Amazon Resource Name (ARN) of the billing view to disassociate source views from.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]`   
Required: Yes

 ** [sourceViews](#API_billing_DisassociateSourceViews_RequestSyntax) **   <a name="awscostmanagement-billing_DisassociateSourceViews-request-sourceViews"></a>
 A list of ARNs of the source billing views to disassociate.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 10 items.  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]`   
Required: Yes

## Response Syntax


```
{
   "arn": "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.

 ** [arn](#API_billing_DisassociateSourceViews_ResponseSyntax) **   <a name="awscostmanagement-billing_DisassociateSourceViews-response-arn"></a>
 The ARN of the billing view that the source views were disassociated from.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.  
HTTP Status Code: 400

 ** BillingViewHealthStatusException **   
 Exception thrown when a billing view's health status prevents an operation from being performed. This may occur if the billing view is in a state other than `HEALTHY`.  
HTTP Status Code: 400

 ** ConflictException **   
 The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.     
 ** resourceId **   
 The identifier for the service resource associated with the request.   
 ** resourceType **   
 The type of resource associated with the request. 
HTTP Status Code: 400

 ** InternalServerException **   
The request processing failed because of an unknown error, exception, or failure.   
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.     
 ** resourceId **   
 Value is a list of resource IDs that were not found.   
 ** resourceType **   
 Value is the type of resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.   
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
The input fails to satisfy the constraints specified by an Amazon service.  
 ** reason **   
The input fails to satisfy the constraints specified by an Amazon service.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/billing-2023-09-07/DisassociateSourceViews) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/billing-2023-09-07/DisassociateSourceViews) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/billing-2023-09-07/DisassociateSourceViews) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/billing-2023-09-07/DisassociateSourceViews) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/billing-2023-09-07/DisassociateSourceViews) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/billing-2023-09-07/DisassociateSourceViews) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/billing-2023-09-07/DisassociateSourceViews) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/billing-2023-09-07/DisassociateSourceViews) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/billing-2023-09-07/DisassociateSourceViews) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/billing-2023-09-07/DisassociateSourceViews) 

# GetBillingView


Returns the metadata associated to the specified billing view ARN. 

## Request Syntax


```
{
   "arn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_billing_GetBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_GetBillingView-request-arn"></a>
 The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]`   
Required: Yes

## Response Syntax


```
{
   "billingView": { 
      "arn": "string",
      "billingViewType": "string",
      "createdAt": number,
      "dataFilterExpression": { 
         "costCategories": { 
            "key": "string",
            "values": [ "string" ]
         },
         "dimensions": { 
            "key": "string",
            "values": [ "string" ]
         },
         "tags": { 
            "key": "string",
            "values": [ "string" ]
         },
         "timeRange": { 
            "beginDateInclusive": number,
            "endDateInclusive": number
         }
      },
      "derivedViewCount": number,
      "description": "string",
      "healthStatus": { 
         "statusCode": "string",
         "statusReasons": [ "string" ]
      },
      "name": "string",
      "ownerAccountId": "string",
      "sourceAccountId": "string",
      "sourceViewCount": number,
      "updatedAt": number,
      "viewDefinitionLastUpdatedAt": 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.

 ** [billingView](#API_billing_GetBillingView_ResponseSyntax) **   <a name="awscostmanagement-billing_GetBillingView-response-billingView"></a>
The billing view element associated with the specified ARN.   
Type: [BillingViewElement](API_billing_BillingViewElement.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServerException **   
The request processing failed because of an unknown error, exception, or failure.   
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.     
 ** resourceId **   
 Value is a list of resource IDs that were not found.   
 ** resourceType **   
 Value is the type of resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.   
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
The input fails to satisfy the constraints specified by an Amazon service.  
 ** reason **   
The input fails to satisfy the constraints specified by an Amazon service.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/billing-2023-09-07/GetBillingView) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/billing-2023-09-07/GetBillingView) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/billing-2023-09-07/GetBillingView) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/billing-2023-09-07/GetBillingView) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/billing-2023-09-07/GetBillingView) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/billing-2023-09-07/GetBillingView) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/billing-2023-09-07/GetBillingView) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/billing-2023-09-07/GetBillingView) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/billing-2023-09-07/GetBillingView) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/billing-2023-09-07/GetBillingView) 

# GetResourcePolicy


Returns the resource-based policy document attached to the resource in `JSON` format. 

## Request Syntax


```
{
   "resourceArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [resourceArn](#API_billing_GetResourcePolicy_RequestSyntax) **   <a name="awscostmanagement-billing_GetResourcePolicy-request-resourceArn"></a>
The Amazon Resource Name (ARN) of the billing view resource to which the policy is attached to.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:[a-zA-Z0-9/:_\+=\.\@-]{0,70}[a-zA-Z0-9]`   
Required: Yes

## Response Syntax


```
{
   "policy": "string",
   "resourceArn": "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.

 ** [policy](#API_billing_GetResourcePolicy_ResponseSyntax) **   <a name="awscostmanagement-billing_GetResourcePolicy-response-policy"></a>
The resource-based policy document attached to the resource in `JSON` format.   
Type: String

 ** [resourceArn](#API_billing_GetResourcePolicy_ResponseSyntax) **   <a name="awscostmanagement-billing_GetResourcePolicy-response-resourceArn"></a>
The Amazon Resource Name (ARN) of the billing view resource to which the policy is attached to.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:[a-zA-Z0-9/:_\+=\.\@-]{0,70}[a-zA-Z0-9]` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServerException **   
The request processing failed because of an unknown error, exception, or failure.   
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.     
 ** resourceId **   
 Value is a list of resource IDs that were not found.   
 ** resourceType **   
 Value is the type of resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.   
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
The input fails to satisfy the constraints specified by an Amazon service.  
 ** reason **   
The input fails to satisfy the constraints specified by an Amazon service.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/billing-2023-09-07/GetResourcePolicy) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/billing-2023-09-07/GetResourcePolicy) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/billing-2023-09-07/GetResourcePolicy) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/billing-2023-09-07/GetResourcePolicy) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/billing-2023-09-07/GetResourcePolicy) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/billing-2023-09-07/GetResourcePolicy) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/billing-2023-09-07/GetResourcePolicy) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/billing-2023-09-07/GetResourcePolicy) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/billing-2023-09-07/GetResourcePolicy) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/billing-2023-09-07/GetResourcePolicy) 

# ListBillingViews


Lists the billing views available for a given time period. 

Every Amazon Web Services account has a unique `PRIMARY` billing view that represents the billing data available by default. Accounts that use Amazon Billing Conductor also have `BILLING_GROUP` billing views representing pro forma costs associated with each created billing group.

## Request Syntax


```
{
   "activeTimeRange": { 
      "activeAfterInclusive": number,
      "activeBeforeInclusive": number
   },
   "arns": [ "string" ],
   "billingViewTypes": [ "string" ],
   "maxResults": number,
   "names": [ 
      { 
         "searchOption": "string",
         "searchValue": "string"
      }
   ],
   "nextToken": "string",
   "ownerAccountId": "string",
   "sourceAccountId": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [activeTimeRange](#API_billing_ListBillingViews_RequestSyntax) **   <a name="awscostmanagement-billing_ListBillingViews-request-activeTimeRange"></a>
 The time range for the billing views listed. `PRIMARY` billing view is always listed. `BILLING_GROUP` billing views are listed for time ranges when the associated billing group resource in Amazon Billing Conductor is active. The time range must be within one calendar month.   
Type: [ActiveTimeRange](API_billing_ActiveTimeRange.md) object  
Required: No

 ** [arns](#API_billing_ListBillingViews_RequestSyntax) **   <a name="awscostmanagement-billing_ListBillingViews-request-arns"></a>
The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view.   
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 10 items.  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]`   
Required: No

 ** [billingViewTypes](#API_billing_ListBillingViews_RequestSyntax) **   <a name="awscostmanagement-billing_ListBillingViews-request-billingViewTypes"></a>
The type of billing view.  
Type: Array of strings  
Valid Values: `PRIMARY | BILLING_GROUP | CUSTOM | BILLING_TRANSFER | BILLING_TRANSFER_SHOWBACK`   
Required: No

 ** [maxResults](#API_billing_ListBillingViews_RequestSyntax) **   <a name="awscostmanagement-billing_ListBillingViews-request-maxResults"></a>
The maximum number of billing views to retrieve. Default is 100.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [names](#API_billing_ListBillingViews_RequestSyntax) **   <a name="awscostmanagement-billing_ListBillingViews-request-names"></a>
 Filters the list of billing views by name. You can specify search criteria to match billing view names based on the search option provided.   
Type: Array of [StringSearch](API_billing_StringSearch.md) objects  
Array Members: Fixed number of 1 item.  
Required: No

 ** [nextToken](#API_billing_ListBillingViews_RequestSyntax) **   <a name="awscostmanagement-billing_ListBillingViews-request-nextToken"></a>
The pagination token that is used on subsequent calls to list billing views.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2047.  
Required: No

 ** [ownerAccountId](#API_billing_ListBillingViews_RequestSyntax) **   <a name="awscostmanagement-billing_ListBillingViews-request-ownerAccountId"></a>
 The list of owners of the billing view.   
Type: String  
Pattern: `[0-9]{12}`   
Required: No

 ** [sourceAccountId](#API_billing_ListBillingViews_RequestSyntax) **   <a name="awscostmanagement-billing_ListBillingViews-request-sourceAccountId"></a>
 Filters the results to include only billing views that use the specified account as a source.   
Type: String  
Pattern: `[0-9]{12}`   
Required: No

## Response Syntax


```
{
   "billingViews": [ 
      { 
         "arn": "string",
         "billingViewType": "string",
         "description": "string",
         "healthStatus": { 
            "statusCode": "string",
            "statusReasons": [ "string" ]
         },
         "name": "string",
         "ownerAccountId": "string",
         "sourceAccountId": "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.

 ** [billingViews](#API_billing_ListBillingViews_ResponseSyntax) **   <a name="awscostmanagement-billing_ListBillingViews-response-billingViews"></a>
A list of `BillingViewListElement` retrieved.  
Type: Array of [BillingViewListElement](API_billing_BillingViewListElement.md) objects

 ** [nextToken](#API_billing_ListBillingViews_ResponseSyntax) **   <a name="awscostmanagement-billing_ListBillingViews-response-nextToken"></a>
The pagination token to use on subsequent calls to list billing views.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2047.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServerException **   
The request processing failed because of an unknown error, exception, or failure.   
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.   
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
The input fails to satisfy the constraints specified by an Amazon service.  
 ** reason **   
The input fails to satisfy the constraints specified by an Amazon service.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/billing-2023-09-07/ListBillingViews) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/billing-2023-09-07/ListBillingViews) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/billing-2023-09-07/ListBillingViews) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/billing-2023-09-07/ListBillingViews) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/billing-2023-09-07/ListBillingViews) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/billing-2023-09-07/ListBillingViews) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/billing-2023-09-07/ListBillingViews) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/billing-2023-09-07/ListBillingViews) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/billing-2023-09-07/ListBillingViews) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/billing-2023-09-07/ListBillingViews) 

# ListSourceViewsForBillingView


Lists the source views (managed Amazon billing views) associated with the billing view. 

## Request Syntax


```
{
   "arn": "string",
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_billing_ListSourceViewsForBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_ListSourceViewsForBillingView-request-arn"></a>
 The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]`   
Required: Yes

 ** [maxResults](#API_billing_ListSourceViewsForBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_ListSourceViewsForBillingView-request-maxResults"></a>
 The number of entries a paginated response contains.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [nextToken](#API_billing_ListSourceViewsForBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_ListSourceViewsForBillingView-request-nextToken"></a>
 The pagination token that is used on subsequent calls to list billing views.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2047.  
Required: No

## Response Syntax


```
{
   "nextToken": "string",
   "sourceViews": [ "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.

 ** [nextToken](#API_billing_ListSourceViewsForBillingView_ResponseSyntax) **   <a name="awscostmanagement-billing_ListSourceViewsForBillingView-response-nextToken"></a>
 The pagination token that is used on subsequent calls to list billing views.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2047.

 ** [sourceViews](#API_billing_ListSourceViewsForBillingView_ResponseSyntax) **   <a name="awscostmanagement-billing_ListSourceViewsForBillingView-response-sourceViews"></a>
A list of billing views used as the data source for the custom billing view.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 10 items.  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServerException **   
The request processing failed because of an unknown error, exception, or failure.   
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.     
 ** resourceId **   
 Value is a list of resource IDs that were not found.   
 ** resourceType **   
 Value is the type of resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.   
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
The input fails to satisfy the constraints specified by an Amazon service.  
 ** reason **   
The input fails to satisfy the constraints specified by an Amazon service.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/billing-2023-09-07/ListSourceViewsForBillingView) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/billing-2023-09-07/ListSourceViewsForBillingView) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/billing-2023-09-07/ListSourceViewsForBillingView) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/billing-2023-09-07/ListSourceViewsForBillingView) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/billing-2023-09-07/ListSourceViewsForBillingView) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/billing-2023-09-07/ListSourceViewsForBillingView) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/billing-2023-09-07/ListSourceViewsForBillingView) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/billing-2023-09-07/ListSourceViewsForBillingView) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/billing-2023-09-07/ListSourceViewsForBillingView) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/billing-2023-09-07/ListSourceViewsForBillingView) 

# ListTagsForResource


Lists tags associated with the billing view resource. 

## Request Syntax


```
{
   "resourceArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [resourceArn](#API_billing_ListTagsForResource_RequestSyntax) **   <a name="awscostmanagement-billing_ListTagsForResource-request-resourceArn"></a>
 The Amazon Resource Name (ARN) of the resource.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:[a-zA-Z0-9/:_\+=\.\@-]{0,70}[a-zA-Z0-9]`   
Required: Yes

## Response Syntax


```
{
   "resourceTags": [ 
      { 
         "key": "string",
         "value": "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.

 ** [resourceTags](#API_billing_ListTagsForResource_ResponseSyntax) **   <a name="awscostmanagement-billing_ListTagsForResource-response-resourceTags"></a>
 A list of tag key value pairs that are associated with the resource.   
Type: Array of [ResourceTag](API_billing_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServerException **   
The request processing failed because of an unknown error, exception, or failure.   
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.     
 ** resourceId **   
 Value is a list of resource IDs that were not found.   
 ** resourceType **   
 Value is the type of resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.   
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
The input fails to satisfy the constraints specified by an Amazon service.  
 ** reason **   
The input fails to satisfy the constraints specified by an Amazon service.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/billing-2023-09-07/ListTagsForResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/billing-2023-09-07/ListTagsForResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/billing-2023-09-07/ListTagsForResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/billing-2023-09-07/ListTagsForResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/billing-2023-09-07/ListTagsForResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/billing-2023-09-07/ListTagsForResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/billing-2023-09-07/ListTagsForResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/billing-2023-09-07/ListTagsForResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/billing-2023-09-07/ListTagsForResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/billing-2023-09-07/ListTagsForResource) 

# TagResource


 An API operation for adding one or more tags (key-value pairs) to a resource. 

## Request Syntax


```
{
   "resourceArn": "string",
   "resourceTags": [ 
      { 
         "key": "string",
         "value": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [resourceArn](#API_billing_TagResource_RequestSyntax) **   <a name="awscostmanagement-billing_TagResource-request-resourceArn"></a>
 The Amazon Resource Name (ARN) of the resource.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:[a-zA-Z0-9/:_\+=\.\@-]{0,70}[a-zA-Z0-9]`   
Required: Yes

 ** [resourceTags](#API_billing_TagResource_RequestSyntax) **   <a name="awscostmanagement-billing_TagResource-request-resourceTags"></a>
 A list of tag key value pairs that are associated with the resource.   
Type: Array of [ResourceTag](API_billing_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServerException **   
The request processing failed because of an unknown error, exception, or failure.   
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.     
 ** resourceId **   
 Value is a list of resource IDs that were not found.   
 ** resourceType **   
 Value is the type of resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.   
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
The input fails to satisfy the constraints specified by an Amazon service.  
 ** reason **   
The input fails to satisfy the constraints specified by an Amazon service.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/billing-2023-09-07/TagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/billing-2023-09-07/TagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/billing-2023-09-07/TagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/billing-2023-09-07/TagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/billing-2023-09-07/TagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/billing-2023-09-07/TagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/billing-2023-09-07/TagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/billing-2023-09-07/TagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/billing-2023-09-07/TagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/billing-2023-09-07/TagResource) 

# UntagResource


 Removes one or more tags from a resource. Specify only tag keys in your request. Don't specify the value. 

## Request Syntax


```
{
   "resourceArn": "string",
   "resourceTagKeys": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [resourceArn](#API_billing_UntagResource_RequestSyntax) **   <a name="awscostmanagement-billing_UntagResource-request-resourceArn"></a>
 The Amazon Resource Name (ARN) of the resource.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:[a-zA-Z0-9/:_\+=\.\@-]{0,70}[a-zA-Z0-9]`   
Required: Yes

 ** [resourceTagKeys](#API_billing_UntagResource_RequestSyntax) **   <a name="awscostmanagement-billing_UntagResource-request-resourceTagKeys"></a>
 A list of tag key value pairs that are associated with the resource.   
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.  
HTTP Status Code: 400

 ** InternalServerException **   
The request processing failed because of an unknown error, exception, or failure.   
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.     
 ** resourceId **   
 Value is a list of resource IDs that were not found.   
 ** resourceType **   
 Value is the type of resource that was not found. 
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.   
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
The input fails to satisfy the constraints specified by an Amazon service.  
 ** reason **   
The input fails to satisfy the constraints specified by an Amazon service.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/billing-2023-09-07/UntagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/billing-2023-09-07/UntagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/billing-2023-09-07/UntagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/billing-2023-09-07/UntagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/billing-2023-09-07/UntagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/billing-2023-09-07/UntagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/billing-2023-09-07/UntagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/billing-2023-09-07/UntagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/billing-2023-09-07/UntagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/billing-2023-09-07/UntagResource) 

# UpdateBillingView


An API to update the attributes of the billing view. 

## Request Syntax


```
{
   "arn": "string",
   "dataFilterExpression": { 
      "costCategories": { 
         "key": "string",
         "values": [ "string" ]
      },
      "dimensions": { 
         "key": "string",
         "values": [ "string" ]
      },
      "tags": { 
         "key": "string",
         "values": [ "string" ]
      },
      "timeRange": { 
         "beginDateInclusive": number,
         "endDateInclusive": number
      }
   },
   "description": "string",
   "name": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [arn](#API_billing_UpdateBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_UpdateBillingView-request-arn"></a>
 The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]`   
Required: Yes

 ** [dataFilterExpression](#API_billing_UpdateBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_UpdateBillingView-request-dataFilterExpression"></a>
See [Expression](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_billing_Expression.html). Billing view only supports `LINKED_ACCOUNT`, `Tags`, and `CostCategories`.   
Type: [Expression](API_billing_Expression.md) object  
Required: No

 ** [description](#API_billing_UpdateBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_UpdateBillingView-request-description"></a>
 The description of the billing view.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `([ a-zA-Z0-9_\+=\.\-@]+)?`   
Required: No

 ** [name](#API_billing_UpdateBillingView_RequestSyntax) **   <a name="awscostmanagement-billing_UpdateBillingView-request-name"></a>
 The name of the billing view.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `[ a-zA-Z0-9_\+=\.\-@]+`   
Required: No

## Response Syntax


```
{
   "arn": "string",
   "updatedAt": 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.

 ** [arn](#API_billing_UpdateBillingView_ResponseSyntax) **   <a name="awscostmanagement-billing_UpdateBillingView-response-arn"></a>
 The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view.   
Type: String  
Pattern: `arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\+=\.\-@]{0,75}[a-zA-Z0-9]` 

 ** [updatedAt](#API_billing_UpdateBillingView_ResponseSyntax) **   <a name="awscostmanagement-billing_UpdateBillingView-response-updatedAt"></a>
 The time when the billing view was last updated.   
Type: Timestamp

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.  
HTTP Status Code: 400

 ** BillingViewHealthStatusException **   
 Exception thrown when a billing view's health status prevents an operation from being performed. This may occur if the billing view is in a state other than `HEALTHY`.  
HTTP Status Code: 400

 ** ConflictException **   
 The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.     
 ** resourceId **   
 The identifier for the service resource associated with the request.   
 ** resourceType **   
 The type of resource associated with the request. 
HTTP Status Code: 400

 ** InternalServerException **   
The request processing failed because of an unknown error, exception, or failure.   
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The specified ARN in the request doesn't exist.     
 ** resourceId **   
 Value is a list of resource IDs that were not found.   
 ** resourceType **   
 Value is the type of resource that was not found. 
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
 You've reached the limit of resources you can create, or exceeded the size of an individual resource.     
 ** quotaCode **   
 The container for the `quotaCode`.   
 ** resourceId **   
 The ID of the resource.   
 ** resourceType **   
 The type of Amazon resource.   
 ** serviceCode **   
 The container for the `serviceCode`. 
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.   
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
The input fails to satisfy the constraints specified by an Amazon service.  
 ** reason **   
The input fails to satisfy the constraints specified by an Amazon service.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/billing-2023-09-07/UpdateBillingView) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/billing-2023-09-07/UpdateBillingView) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/billing-2023-09-07/UpdateBillingView) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/billing-2023-09-07/UpdateBillingView) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/billing-2023-09-07/UpdateBillingView) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/billing-2023-09-07/UpdateBillingView) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/billing-2023-09-07/UpdateBillingView) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/billing-2023-09-07/UpdateBillingView) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/billing-2023-09-07/UpdateBillingView) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/billing-2023-09-07/UpdateBillingView) 

# Amazon Budgets


The following actions are supported by Amazon Budgets:
+  [CreateBudget](API_budgets_CreateBudget.md) 
+  [CreateBudgetAction](API_budgets_CreateBudgetAction.md) 
+  [CreateNotification](API_budgets_CreateNotification.md) 
+  [CreateSubscriber](API_budgets_CreateSubscriber.md) 
+  [DeleteBudget](API_budgets_DeleteBudget.md) 
+  [DeleteBudgetAction](API_budgets_DeleteBudgetAction.md) 
+  [DeleteNotification](API_budgets_DeleteNotification.md) 
+  [DeleteSubscriber](API_budgets_DeleteSubscriber.md) 
+  [DescribeBudget](API_budgets_DescribeBudget.md) 
+  [DescribeBudgetAction](API_budgets_DescribeBudgetAction.md) 
+  [DescribeBudgetActionHistories](API_budgets_DescribeBudgetActionHistories.md) 
+  [DescribeBudgetActionsForAccount](API_budgets_DescribeBudgetActionsForAccount.md) 
+  [DescribeBudgetActionsForBudget](API_budgets_DescribeBudgetActionsForBudget.md) 
+  [DescribeBudgetNotificationsForAccount](API_budgets_DescribeBudgetNotificationsForAccount.md) 
+  [DescribeBudgetPerformanceHistory](API_budgets_DescribeBudgetPerformanceHistory.md) 
+  [DescribeBudgets](API_budgets_DescribeBudgets.md) 
+  [DescribeNotificationsForBudget](API_budgets_DescribeNotificationsForBudget.md) 
+  [DescribeSubscribersForNotification](API_budgets_DescribeSubscribersForNotification.md) 
+  [ExecuteBudgetAction](API_budgets_ExecuteBudgetAction.md) 
+  [ListTagsForResource](API_budgets_ListTagsForResource.md) 
+  [TagResource](API_budgets_TagResource.md) 
+  [UntagResource](API_budgets_UntagResource.md) 
+  [UpdateBudget](API_budgets_UpdateBudget.md) 
+  [UpdateBudgetAction](API_budgets_UpdateBudgetAction.md) 
+  [UpdateNotification](API_budgets_UpdateNotification.md) 
+  [UpdateSubscriber](API_budgets_UpdateSubscriber.md) 

# CreateBudget


Creates a budget and, if included, notifications and subscribers. 

**Important**  
Only one of `BudgetLimit` or `PlannedBudgetLimits` can be present in the syntax at one time. Use the syntax that matches your use case. The Request Syntax section shows the `BudgetLimit` syntax. For `PlannedBudgetLimits`, see the [Examples](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_budgets_CreateBudget.html#API_CreateBudget_Examples) section.  
Similarly, only one set of filter and metric selections can be present in the syntax at one time. Either `FilterExpression` and `Metrics` or `CostFilters` and `CostTypes`, not both or a different combination. We recommend using `FilterExpression` and `Metrics` as they provide more flexible and powerful filtering capabilities. The Request Syntax section shows the `FilterExpression`/`Metrics` syntax.

## Request Syntax


```
{
   "AccountId": "string",
   "Budget": { 
      "AutoAdjustData": { 
         "AutoAdjustType": "string",
         "HistoricalOptions": { 
            "BudgetAdjustmentPeriod": number,
            "LookBackAvailablePeriods": number
         },
         "LastAutoAdjustTime": number
      },
      "BillingViewArn": "string",
      "BudgetLimit": { 
         "Amount": "string",
         "Unit": "string"
      },
      "BudgetName": "string",
      "BudgetType": "string",
      "CalculatedSpend": { 
         "ActualSpend": { 
            "Amount": "string",
            "Unit": "string"
         },
         "ForecastedSpend": { 
            "Amount": "string",
            "Unit": "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
      },
      "FilterExpression": { 
         "And": [ 
            "Expression"
         ],
         "CostCategories": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         },
         "Dimensions": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         },
         "Not": "Expression",
         "Or": [ 
            "Expression"
         ],
         "Tags": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         }
      },
      "HealthStatus": { 
         "LastUpdatedTime": number,
         "Status": "string",
         "StatusReason": "string"
      },
      "LastUpdatedTime": number,
      "Metrics": [ "string" ],
      "PlannedBudgetLimits": { 
         "string" : { 
            "Amount": "string",
            "Unit": "string"
         }
      },
      "TimePeriod": { 
         "End": number,
         "Start": number
      },
      "TimeUnit": "string"
   },
   "NotificationsWithSubscribers": [ 
      { 
         "Notification": { 
            "ComparisonOperator": "string",
            "NotificationState": "string",
            "NotificationType": "string",
            "Threshold": number,
            "ThresholdType": "string"
         },
         "Subscribers": [ 
            { 
               "Address": "string",
               "SubscriptionType": "string"
            }
         ]
      }
   ],
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_CreateBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateBudget-request-AccountId"></a>
The `accountId` that is associated with the budget.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [Budget](#API_budgets_CreateBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateBudget-request-Budget"></a>
The budget object that you want to create.  
Type: [Budget](API_budgets_Budget.md) object  
Required: Yes

 ** [NotificationsWithSubscribers](#API_budgets_CreateBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateBudget-request-NotificationsWithSubscribers"></a>
A notification that you want to associate with a budget. A budget can have up to five notifications, and each notification can have one SNS subscriber and up to 10 email subscribers. If you include notifications and subscribers in your `CreateBudget` call, Amazon creates the notifications and subscribers for you.  
Type: Array of [NotificationWithSubscribers](API_budgets_NotificationWithSubscribers.md) objects  
Array Members: Maximum number of 10 items.  
Required: No

 ** [ResourceTags](#API_budgets_CreateBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateBudget-request-ResourceTags"></a>
An optional list of tags to associate with the specified budget. Each tag consists of a key and a value, and each key must be unique for the resource.  
Type: Array of [ResourceTag](API_budgets_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: No

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** BillingViewHealthStatusException **   
 The billing view status must be HEALTHY to perform this action. Try again when the status is HEALTHY.     
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** CreationLimitExceededException **   
You've exceeded the notification or subscriber limit.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** DuplicateRecordException **   
The budget name already exists. Budget names must be unique within an account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
You've reached a Service Quota limit on this resource.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is the `PlannedBudgetLimits` syntax

```
{
   "AccountId": "string",
   "Budget": { 
      "PlannedBudgetLimits": {
         "string": {
            "Amount": "string",
            "Unit": "string"
         }
      },
      "BudgetName": "string",
      "BudgetType": "string",
      "CalculatedSpend": { 
         "ActualSpend": { 
            "Amount": "string",
            "Unit": "string"
         },
         "ForecastedSpend": { 
            "Amount": "string",
            "Unit": "string"
         }
      },
      "FilterExpression": { 
         "And": [ 
            "Expression"
         ],
         "Dimensions": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         },
         "Not": "Expression",
         "Or": [ 
            "Expression"
         ],
         "Tags": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         }
      },
      "Metrics": [ "string" ],
      "LastUpdatedTime": number,
      "TimePeriod": { 
         "End": number,
         "Start": number
      },
      "TimeUnit": "string"
   },
   "NotificationsWithSubscribers": [ 
      { 
         "Notification": { 
            "ComparisonOperator": "string",
            "NotificationState": "string",
            "NotificationType": "string",
            "Threshold": number,
            "ThresholdType": "string"
         },
         "Subscribers": [ 
            { 
               "Address": "string",
               "SubscriptionType": "string"
            }
         ]
      }
   ]
}
```

### Example


The following is a sample request of the `CreateBudget` operation using `BudgetLimit` 

#### Sample Request


```
POST / 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.CreateBudget

{
   "AccountId": "111122223333",
   "Budget": { 
      "BudgetLimit": { 
         "Amount": "100",
         "Unit": "USD"
      },
      "BudgetName": "Example Budget",
      "BudgetType": "COST",
      "FilterExpression": {
         "Dimensions": {
            "Key": "AZ",
            "Values": ["us-east-1"]
         }
      },
      "Metrics": ["UNBLENDED_COST"],
      "TimePeriod": { 
         "Start": 1712019600,
         "End": 1714611600
      },
      "TimeUnit": "MONTHLY"
   },
   "NotificationsWithSubscribers": [ 
      { 
         "Notification": { 
            "ComparisonOperator": "GREATER_THAN",
            "NotificationType": "ACTUAL",
            "Threshold": 80,
            "ThresholdType": "PERCENTAGE"
         },
         "Subscribers": [ 
            { 
               "Address": "budget-alerts@example.com",
               "SubscriptionType": "EMAIL"
            }
         ]
      },
      { 
         "Notification": { 
            "ComparisonOperator": "GREATER_THAN",
            "NotificationType": "FORECASTED",
            "Threshold": 90,
            "ThresholdType": "PERCENTAGE"
         },
         "Subscribers": [ 
            { 
               "Address": "budget-forecasts@example.com",
               "SubscriptionType": "EMAIL"
            }
         ]
      }
   ]
}
```

### Example


The following is a sample request of the `CreateBudget` operation using `PlannedBudgetLimits` and using FilterExpression to include multiple dimensions (Service and Region) on net unblended costs

#### Sample Request


```
POST / 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.CreateBudget

{
   "AccountId": "111122223333",
   "Budget": { 
      "PlannedBudgetLimits": {
         "1712019600": {
            "Amount": "100",
            "Unit": "USD"
         },
         "1714611600": {
            "Amount": "200",
            "Unit": "USD"
         },
         "1717203600": {
            "Amount": "300",
            "Unit": "USD"
         }
      },
      "BudgetName": "Example Planned Budget",
      "BudgetType": "COST",
      "FilterExpression": {
         "Dimensions": {
            "Key": "SERVICE",
            "Values": ["Amazon Simple Storage Service", "Amazon FSx"]
         },
         "And": [{
            "Dimensions": {
               "Key": "REGION",
               "Values": ["us-east-1", "us-west-2"]
            }
         }]
      },
      "Metrics": ["NET_UNBLENDED_COST"],
      "TimePeriod": { 
         "Start": 1712019600,
         "End": 1717203600
      },
      "TimeUnit": "MONTHLY"
   },
   "NotificationsWithSubscribers": [ 
      { 
         "Notification": { 
            "ComparisonOperator": "GREATER_THAN",
            "NotificationType": "ACTUAL",
            "Threshold": 50,
            "ThresholdType": "PERCENTAGE"
         },
         "Subscribers": [ 
            { 
               "Address": "planned-budget-alerts-1@example.com",
               "SubscriptionType": "EMAIL"
            }
         ]
      }
   ]
}
```

### Example


The following is a sample request of the `CreateBudget` operation using `BudgetLimit` and filtering for a specific tag.

#### Sample Request


```
POST / 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.CreateBudget

{
   "AccountId": "111122223333",
   "Budget": {
      "BudgetLimit": {
         "Amount": "100",
         "Unit": "USD"
      },
      "BudgetName": "Example Tag Budget",
      "BudgetType": "COST",
      "FilterExpression": {
         "Tags": {
            "Key": "user:Key",
            "Values": ["value1", "value2"]
         }
      },
      "Metrics": ["NET_UNBLENDED_COST"],
      "TimePeriod": { 
         "Start": 1712019600,
         "End": 1717203600
      },
      "TimeUnit": "MONTHLY"
   },
   "NotificationsWithSubscribers": [ 
      { 
         "Notification": { 
            "ComparisonOperator": "GREATER_THAN",
            "NotificationType": "ACTUAL",
            "Threshold": 80,
            "ThresholdType": "PERCENTAGE"
         },
         "Subscribers": [ 
            { 
               "Address": "example@example.com",
               "SubscriptionType": "EMAIL"
            }
         ]
      }
   ]
}
```

### Example


The following is a sample request of the `CreateBudget` operation using `ResourceTags` and filtering for a specific tag.

#### Sample Request


```
POST / 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.CreateBudget

{
  "AccountId": "111122223333",
  "Budget": {
    "BudgetLimit": {
      "Amount": "1000",
      "Unit": "USD"
    },
    "BudgetName": "Tag-Based Budget Example",
    "BudgetType": "COST",
    "FilterExpression": {
      "Tags": {
        "Key": "CostCenter",
        "Values": ["IT-1234", "Marketing-5678"]
      }
    },
    "Metrics": ["NET_UNBLENDED_COST"],
    "TimePeriod": {
      "Start": 1712019600,
      "End": 1714611600
    },
    "TimeUnit": "MONTHLY"
  },
  "NotificationsWithSubscribers": [
    {
      "Notification": {
        "ComparisonOperator": "GREATER_THAN",
        "NotificationType": "ACTUAL",
        "Threshold": 80,
        "ThresholdType": "PERCENTAGE"
      },
      "Subscribers": [
        {
          "Address": "tag-budget-alerts@example.com",
          "SubscriptionType": "EMAIL"
        }
      ]
    }
  ],
  "ResourceTags": [
    {
      "Key": "Project",
      "Value": "CloudMigration"
    },
    {
      "Key": "Owner",
      "Value": "FinanceTeam"
    }
  ]
}
```

### Example


The following is a sample request of the `CreateBudget` operation using `FilterExpression` to exclude specific services.

#### Sample Request


```
POST / 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.CreateBudget

{
   "AccountId": "111122223333",
   "Budget": { 
      "BudgetLimit": { 
         "Amount": "1000",
         "Unit": "USD"
      },
      "BudgetName": "Example Exclusion Budget",
      "BudgetType": "COST",
      "FilterExpression": {
         "Not": {
            "Dimensions": {
               "Key": "SERVICE",
               "Values": ["AWS Shield", "AWS Support (Enterprise)"]
            }
         }
      },
      "Metrics": ["NET_UNBLENDED_COST"],
      "TimePeriod": { 
         "Start": 1712019600,
         "End": 1714611600
      },
      "TimeUnit": "MONTHLY"
   },
   "NotificationsWithSubscribers": [ 
      { 
         "Notification": { 
            "ComparisonOperator": "GREATER_THAN",
            "NotificationType": "ACTUAL",
            "Threshold": 70,
            "ThresholdType": "PERCENTAGE"
         },
         "Subscribers": [ 
            { 
               "Address": "exclusion-alerts@example.com",
               "SubscriptionType": "EMAIL"
            }
         ]
      },
      { 
         "Notification": { 
            "ComparisonOperator": "GREATER_THAN",
            "NotificationType": "FORECASTED",
            "Threshold": 100,
            "ThresholdType": "PERCENTAGE"
         },
         "Subscribers": [ 
            { 
               "Address": "exclusion-forecasts@example.com",
               "SubscriptionType": "EMAIL"
            }
         ]
      }
   ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/CreateBudget) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/CreateBudget) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/CreateBudget) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/CreateBudget) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/CreateBudget) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/CreateBudget) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/CreateBudget) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/CreateBudget) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/CreateBudget) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/CreateBudget) 

# CreateBudgetAction


 Creates a budget action. 

## Request Syntax


```
{
   "AccountId": "string",
   "ActionThreshold": { 
      "ActionThresholdType": "string",
      "ActionThresholdValue": number
   },
   "ActionType": "string",
   "ApprovalModel": "string",
   "BudgetName": "string",
   "Definition": { 
      "IamActionDefinition": { 
         "Groups": [ "string" ],
         "PolicyArn": "string",
         "Roles": [ "string" ],
         "Users": [ "string" ]
      },
      "ScpActionDefinition": { 
         "PolicyId": "string",
         "TargetIds": [ "string" ]
      },
      "SsmActionDefinition": { 
         "ActionSubType": "string",
         "InstanceIds": [ "string" ],
         "Region": "string"
      }
   },
   "ExecutionRoleArn": "string",
   "NotificationType": "string",
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "Subscribers": [ 
      { 
         "Address": "string",
         "SubscriptionType": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_CreateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateBudgetAction-request-AccountId"></a>
The account ID of the user. It's a 12-digit number.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [ActionThreshold](#API_budgets_CreateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateBudgetAction-request-ActionThreshold"></a>
The trigger threshold of the action.   
Type: [ActionThreshold](API_budgets_ActionThreshold.md) object  
Required: Yes

 ** [ActionType](#API_budgets_CreateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateBudgetAction-request-ActionType"></a>
 The type of action. This defines the type of tasks that can be carried out by this action. This field also determines the format for definition.   
Type: String  
Valid Values: `APPLY_IAM_POLICY | APPLY_SCP_POLICY | RUN_SSM_DOCUMENTS`   
Required: Yes

 ** [ApprovalModel](#API_budgets_CreateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateBudgetAction-request-ApprovalModel"></a>
 This specifies if the action needs manual or automatic approval.   
Type: String  
Valid Values: `AUTOMATIC | MANUAL`   
Required: Yes

 ** [BudgetName](#API_budgets_CreateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateBudgetAction-request-BudgetName"></a>
 A string that represents the budget name. The ":" and "\$1" characters, and the "/action/" substring, aren't allowed.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

 ** [Definition](#API_budgets_CreateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateBudgetAction-request-Definition"></a>
Specifies all of the type-specific parameters.   
Type: [Definition](API_budgets_Definition.md) object  
Required: Yes

 ** [ExecutionRoleArn](#API_budgets_CreateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateBudgetAction-request-ExecutionRoleArn"></a>
 The role passed for action execution and reversion. Roles and actions must be in the same account.   
Type: String  
Length Constraints: Minimum length of 32. Maximum length of 618.  
Pattern: `^arn:aws(-eusc|-cn|-us-gov|-iso|-iso-[a-z]{1})?:iam::\d{12}:role(\u002F[\u0021-\u007F]+\u002F|\u002F)[\w+=,.@-]+$`   
Required: Yes

 ** [NotificationType](#API_budgets_CreateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateBudgetAction-request-NotificationType"></a>
 The type of a notification. It must be ACTUAL or FORECASTED.  
Type: String  
Valid Values: `ACTUAL | FORECASTED`   
Required: Yes

 ** [ResourceTags](#API_budgets_CreateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateBudgetAction-request-ResourceTags"></a>
An optional list of tags to associate with the specified budget action. Each tag consists of a key and a value, and each key must be unique for the resource.  
Type: Array of [ResourceTag](API_budgets_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: No

 ** [Subscribers](#API_budgets_CreateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateBudgetAction-request-Subscribers"></a>
 A list of subscribers.  
Type: Array of [Subscriber](API_budgets_Subscriber.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 11 items.  
Required: Yes

## Response Syntax


```
{
   "AccountId": "string",
   "ActionId": "string",
   "BudgetName": "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.

 ** [AccountId](#API_budgets_CreateBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_CreateBudgetAction-response-AccountId"></a>
The account ID of the user. It's a 12-digit number.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}` 

 ** [ActionId](#API_budgets_CreateBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_CreateBudgetAction-response-ActionId"></a>
 A system-generated universally unique identifier (UUID) for the action.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$` 

 ** [BudgetName](#API_budgets_CreateBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_CreateBudgetAction-response-BudgetName"></a>
 A string that represents the budget name. The ":" and "\$1" characters, and the "/action/" substring, aren't allowed.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** CreationLimitExceededException **   
You've exceeded the notification or subscriber limit.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** DuplicateRecordException **   
The budget name already exists. Budget names must be unique within an account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
You've reached a Service Quota limit on this resource.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/CreateBudgetAction) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/CreateBudgetAction) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/CreateBudgetAction) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/CreateBudgetAction) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/CreateBudgetAction) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/CreateBudgetAction) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/CreateBudgetAction) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/CreateBudgetAction) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/CreateBudgetAction) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/CreateBudgetAction) 

# CreateNotification


Creates a notification. You must create the budget before you create the associated notification.

## Request Syntax


```
{
   "AccountId": "string",
   "BudgetName": "string",
   "Notification": { 
      "ComparisonOperator": "string",
      "NotificationState": "string",
      "NotificationType": "string",
      "Threshold": number,
      "ThresholdType": "string"
   },
   "Subscribers": [ 
      { 
         "Address": "string",
         "SubscriptionType": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_CreateNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateNotification-request-AccountId"></a>
The `accountId` that is associated with the budget that you want to create a notification for.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [BudgetName](#API_budgets_CreateNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateNotification-request-BudgetName"></a>
The name of the budget that you want Amazon to notify you about. Budget names must be unique within an account.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

 ** [Notification](#API_budgets_CreateNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateNotification-request-Notification"></a>
The notification that you want to create.  
Type: [Notification](API_budgets_Notification.md) object  
Required: Yes

 ** [Subscribers](#API_budgets_CreateNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateNotification-request-Subscribers"></a>
A list of subscribers that you want to associate with the notification. Each notification can have one SNS subscriber and up to 10 email subscribers.  
Type: Array of [Subscriber](API_budgets_Subscriber.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 11 items.  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** CreationLimitExceededException **   
You've exceeded the notification or subscriber limit.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** DuplicateRecordException **   
The budget name already exists. Budget names must be unique within an account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is a sample request of the `CreateNotification` operation.

#### Sample Request


```
POST / 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.CreateNotification
{
   "AccountId": "111122223333",
   "BudgetName": "Example Budget",
   "Notification": { 
      "ComparisonOperator": "GREATER_THAN",
      "NotificationType": "ACTUAL",
      "Threshold": 80,
      "ThresholdType": "PERCENTAGE"
   },
   "Subscribers": [ 
      { 
         "Address": "example@example.com",
         "SubscriptionType": "EMAIL"
      }
    ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/CreateNotification) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/CreateNotification) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/CreateNotification) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/CreateNotification) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/CreateNotification) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/CreateNotification) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/CreateNotification) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/CreateNotification) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/CreateNotification) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/CreateNotification) 

# CreateSubscriber


Creates a subscriber. You must create the associated budget and notification before you create the subscriber.

## Request Syntax


```
{
   "AccountId": "string",
   "BudgetName": "string",
   "Notification": { 
      "ComparisonOperator": "string",
      "NotificationState": "string",
      "NotificationType": "string",
      "Threshold": number,
      "ThresholdType": "string"
   },
   "Subscriber": { 
      "Address": "string",
      "SubscriptionType": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_CreateSubscriber_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateSubscriber-request-AccountId"></a>
The `accountId` that is associated with the budget that you want to create a subscriber for.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [BudgetName](#API_budgets_CreateSubscriber_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateSubscriber-request-BudgetName"></a>
The name of the budget that you want to subscribe to. Budget names must be unique within an account.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

 ** [Notification](#API_budgets_CreateSubscriber_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateSubscriber-request-Notification"></a>
The notification that you want to create a subscriber for.  
Type: [Notification](API_budgets_Notification.md) object  
Required: Yes

 ** [Subscriber](#API_budgets_CreateSubscriber_RequestSyntax) **   <a name="awscostmanagement-budgets_CreateSubscriber-request-Subscriber"></a>
The subscriber that you want to associate with a budget notification.  
Type: [Subscriber](API_budgets_Subscriber.md) object  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** CreationLimitExceededException **   
You've exceeded the notification or subscriber limit.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** DuplicateRecordException **   
The budget name already exists. Budget names must be unique within an account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is a sample request of the `CreateSubscriber` operation.

#### Sample Request


```
POST / 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.CreateSubscriber
{
   "AccountId": "111122223333",
   "BudgetName": "Example Budget",
     "Notification": { 
        "ComparisonOperator": "GREATER_THAN",
        "NotificationType": "ACTUAL",
        "Threshold": 80,
        "ThresholdType": "PERCENTAGE"
     },
     "Subscribers": [ 
        { 
           "Address": "example@example.com",
           "SubscriptionType": "EMAIL"
        }
     ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/CreateSubscriber) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/CreateSubscriber) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/CreateSubscriber) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/CreateSubscriber) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/CreateSubscriber) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/CreateSubscriber) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/CreateSubscriber) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/CreateSubscriber) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/CreateSubscriber) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/CreateSubscriber) 

# DeleteBudget


Deletes a budget. You can delete your budget at any time.

**Important**  
Deleting a budget also deletes the notifications and subscribers that are associated with that budget.

## Request Syntax


```
{
   "AccountId": "string",
   "BudgetName": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_DeleteBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_DeleteBudget-request-AccountId"></a>
The `accountId` that is associated with the budget that you want to delete.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [BudgetName](#API_budgets_DeleteBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_DeleteBudget-request-BudgetName"></a>
The name of the budget that you want to delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is a sample request of the `DeleteBudget` operation.

#### Sample Request


```
POST / 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.DeleteBudget
{
   "AccountId": "111122223333",
   "BudgetName": "Example Budget"
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/DeleteBudget) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/DeleteBudget) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/DeleteBudget) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/DeleteBudget) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/DeleteBudget) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/DeleteBudget) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/DeleteBudget) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/DeleteBudget) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/DeleteBudget) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/DeleteBudget) 

# DeleteBudgetAction


 Deletes a budget action. 

## Request Syntax


```
{
   "AccountId": "string",
   "ActionId": "string",
   "BudgetName": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_DeleteBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_DeleteBudgetAction-request-AccountId"></a>
The account ID of the user. It's a 12-digit number.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [ActionId](#API_budgets_DeleteBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_DeleteBudgetAction-request-ActionId"></a>
 A system-generated universally unique identifier (UUID) for the action.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$`   
Required: Yes

 ** [BudgetName](#API_budgets_DeleteBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_DeleteBudgetAction-request-BudgetName"></a>
 A string that represents the budget name. The ":" and "\$1" characters, and the "/action/" substring, aren't allowed.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

## Response Syntax


```
{
   "AccountId": "string",
   "Action": { 
      "ActionId": "string",
      "ActionThreshold": { 
         "ActionThresholdType": "string",
         "ActionThresholdValue": number
      },
      "ActionType": "string",
      "ApprovalModel": "string",
      "BudgetName": "string",
      "Definition": { 
         "IamActionDefinition": { 
            "Groups": [ "string" ],
            "PolicyArn": "string",
            "Roles": [ "string" ],
            "Users": [ "string" ]
         },
         "ScpActionDefinition": { 
            "PolicyId": "string",
            "TargetIds": [ "string" ]
         },
         "SsmActionDefinition": { 
            "ActionSubType": "string",
            "InstanceIds": [ "string" ],
            "Region": "string"
         }
      },
      "ExecutionRoleArn": "string",
      "NotificationType": "string",
      "Status": "string",
      "Subscribers": [ 
         { 
            "Address": "string",
            "SubscriptionType": "string"
         }
      ]
   },
   "BudgetName": "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.

 ** [AccountId](#API_budgets_DeleteBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_DeleteBudgetAction-response-AccountId"></a>
The account ID of the user. It's a 12-digit number.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}` 

 ** [Action](#API_budgets_DeleteBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_DeleteBudgetAction-response-Action"></a>
A budget action resource.   
Type: [Action](API_budgets_Action.md) object

 ** [BudgetName](#API_budgets_DeleteBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_DeleteBudgetAction-response-BudgetName"></a>
 A string that represents the budget name. The ":" and "\$1" characters, and the "/action/" substring, aren't allowed.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ResourceLockedException **   
The request was received and recognized by the server, but the server rejected that particular method for the requested resource.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/DeleteBudgetAction) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/DeleteBudgetAction) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/DeleteBudgetAction) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/DeleteBudgetAction) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/DeleteBudgetAction) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/DeleteBudgetAction) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/DeleteBudgetAction) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/DeleteBudgetAction) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/DeleteBudgetAction) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/DeleteBudgetAction) 

# DeleteNotification


Deletes a notification.

**Important**  
Deleting a notification also deletes the subscribers that are associated with the notification.

## Request Syntax


```
{
   "AccountId": "string",
   "BudgetName": "string",
   "Notification": { 
      "ComparisonOperator": "string",
      "NotificationState": "string",
      "NotificationType": "string",
      "Threshold": number,
      "ThresholdType": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_DeleteNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_DeleteNotification-request-AccountId"></a>
The `accountId` that is associated with the budget whose notification you want to delete.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [BudgetName](#API_budgets_DeleteNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_DeleteNotification-request-BudgetName"></a>
The name of the budget whose notification you want to delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

 ** [Notification](#API_budgets_DeleteNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_DeleteNotification-request-Notification"></a>
The notification that you want to delete.  
Type: [Notification](API_budgets_Notification.md) object  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is a sample request of the `DeleteNotification` operation.

#### Sample Request


```
POST / 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.DeleteNotification
{
   "AccountId": "111122223333",
   "BudgetName": "Example Budget",
   "Notification": { 
      "ComparisonOperator": "GREATER_THAN",
      "NotificationType": "ACTUAL",
      "Threshold": 80,
      "ThresholdType": "PERCENTAGE"
   }
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/DeleteNotification) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/DeleteNotification) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/DeleteNotification) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/DeleteNotification) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/DeleteNotification) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/DeleteNotification) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/DeleteNotification) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/DeleteNotification) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/DeleteNotification) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/DeleteNotification) 

# DeleteSubscriber


Deletes a subscriber.

**Important**  
Deleting the last subscriber to a notification also deletes the notification.

## Request Syntax


```
{
   "AccountId": "string",
   "BudgetName": "string",
   "Notification": { 
      "ComparisonOperator": "string",
      "NotificationState": "string",
      "NotificationType": "string",
      "Threshold": number,
      "ThresholdType": "string"
   },
   "Subscriber": { 
      "Address": "string",
      "SubscriptionType": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_DeleteSubscriber_RequestSyntax) **   <a name="awscostmanagement-budgets_DeleteSubscriber-request-AccountId"></a>
The `accountId` that is associated with the budget whose subscriber you want to delete.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [BudgetName](#API_budgets_DeleteSubscriber_RequestSyntax) **   <a name="awscostmanagement-budgets_DeleteSubscriber-request-BudgetName"></a>
The name of the budget whose subscriber you want to delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

 ** [Notification](#API_budgets_DeleteSubscriber_RequestSyntax) **   <a name="awscostmanagement-budgets_DeleteSubscriber-request-Notification"></a>
The notification whose subscriber you want to delete.  
Type: [Notification](API_budgets_Notification.md) object  
Required: Yes

 ** [Subscriber](#API_budgets_DeleteSubscriber_RequestSyntax) **   <a name="awscostmanagement-budgets_DeleteSubscriber-request-Subscriber"></a>
The subscriber that you want to delete.  
Type: [Subscriber](API_budgets_Subscriber.md) object  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is a sample request of the `DeleteSubscriber` operation.

#### Sample Request


```
POST / 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.DeleteSubscriber
{
   "AccountId": "111122223333",
   "BudgetName": "Example Budget",
   "Notification": { 
       "ComparisonOperator": "GREATER_THAN",
       "NotificationType": "ACTUAL",
       "Threshold": 80,
       "ThresholdType": "PERCENTAGE"
   },
   "Subscribers": [ 
       { 
           "Address": "example@example.com",
           "SubscriptionType": "EMAIL"
       }
   ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/DeleteSubscriber) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/DeleteSubscriber) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/DeleteSubscriber) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/DeleteSubscriber) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/DeleteSubscriber) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/DeleteSubscriber) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/DeleteSubscriber) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/DeleteSubscriber) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/DeleteSubscriber) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/DeleteSubscriber) 

# DescribeBudget


Describes a budget.

**Important**  
The Request Syntax section shows the `BudgetLimit` syntax. For `PlannedBudgetLimits`, see the [Examples](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_budgets_DescribeBudget.html#API_DescribeBudget_Examples) section.

## Request Syntax


```
{
   "AccountId": "string",
   "BudgetName": "string",
   "ShowFilterExpression": boolean
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_DescribeBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudget-request-AccountId"></a>
The `accountId` that is associated with the budget that you want a description of.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [BudgetName](#API_budgets_DescribeBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudget-request-BudgetName"></a>
The name of the budget that you want a description of.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

 ** [ShowFilterExpression](#API_budgets_DescribeBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudget-request-ShowFilterExpression"></a>
Specifies whether the response includes the filter expression associated with the budget. By showing the filter expression, you can see detailed filtering logic applied to the budget, such as Amazon services or tags that are being tracked.  
Type: Boolean  
Required: No

## Response Syntax


```
{
   "Budget": { 
      "AutoAdjustData": { 
         "AutoAdjustType": "string",
         "HistoricalOptions": { 
            "BudgetAdjustmentPeriod": number,
            "LookBackAvailablePeriods": number
         },
         "LastAutoAdjustTime": number
      },
      "BillingViewArn": "string",
      "BudgetLimit": { 
         "Amount": "string",
         "Unit": "string"
      },
      "BudgetName": "string",
      "BudgetType": "string",
      "CalculatedSpend": { 
         "ActualSpend": { 
            "Amount": "string",
            "Unit": "string"
         },
         "ForecastedSpend": { 
            "Amount": "string",
            "Unit": "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
      },
      "FilterExpression": { 
         "And": [ 
            "Expression"
         ],
         "CostCategories": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         },
         "Dimensions": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         },
         "Not": "Expression",
         "Or": [ 
            "Expression"
         ],
         "Tags": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         }
      },
      "HealthStatus": { 
         "LastUpdatedTime": number,
         "Status": "string",
         "StatusReason": "string"
      },
      "LastUpdatedTime": number,
      "Metrics": [ "string" ],
      "PlannedBudgetLimits": { 
         "string" : { 
            "Amount": "string",
            "Unit": "string"
         }
      },
      "TimePeriod": { 
         "End": number,
         "Start": number
      },
      "TimeUnit": "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.

 ** [Budget](#API_budgets_DescribeBudget_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudget-response-Budget"></a>
The description of the budget.  
Type: [Budget](API_budgets_Budget.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is the `PlannedBudgetLimits` syntax.

```
{
   "Budget": { 
      "BudgetLimit": { 
         "Amount": "string",
         "Unit": "string"
      },
      "PlannedBudgetLimits": {
         "string": {
            "Amount": "string",
            "Unit": "string"
         }
      },
      "BudgetName": "string",
      "BudgetType": "string",
      "CalculatedSpend": { 
         "ActualSpend": { 
            "Amount": "string",
            "Unit": "string"
         },
         "ForecastedSpend": { 
            "Amount": "string",
            "Unit": "string"
         }
      },
      "FilterExpression": {
         "And": [
            "Expression"
         ],
         "Dimensions": {
            "Key": "string",
            "Values": ["string"]
         },
         "Not": "Expression",
         "Or": [
            "Expression"
         ],
         "Tags": {
            "Key": "string",
            "Values": ["string"]
         }
      },
      "Metrics": ["string"],
      "LastUpdatedTime": number,
      "TimePeriod": { 
         "End": number,
         "Start": number
      },
      "TimeUnit": "string"
   }
}
```

### Example


The following is a sample request and response of the `DescribeBudget` operation using `BudgetLimit` 

#### Sample Request


```
POST / 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.DescribeBudget

{
   "AccountId": "111122223333",
   "BudgetName": "Example Budget"
}
```

#### Sample Response


```
{
   "Budget": { 
      "BudgetLimit": { 
         "Amount": "100",
         "Unit": "USD"
      },
      "BudgetName": "Example Budget",
      "BudgetType": "COST",
      "CalculatedSpend": { 
         "ActualSpend": { 
            "Amount": "50",
            "Unit": "USD"
         },
         "ForecastedSpend": { 
            "Amount": "100",
            "Unit": "USD"
         }
      },
      "FilterExpression": {
         "Dimensions": {
            "Key": "AZ",
            "Values": ["us-east-1"]
         }
      },
      "Metrics": ["UNBLENDED_COST"],
      "TimePeriod": { 
         "Start": 1477353600,
         "End": 1477958399
      },
      "TimeUnit": "MONTHLY"
   }
}
```

### Example


The following is a sample response of the `DescribeBudget` operation, using `PlannedBudgetLimits`.

#### Sample Response


```
{
   "Budget": { 
      "PlannedBudgetLimits":{
         "1583020800": {
            "Amount": "100",
            "Unit": "USD"
         },
         "1564617600": {
            "Amount": "200",
            "Unit": "USD"
         },
         "1569888000": {
            "Amount": "300",
            "Unit": "USD"
         },
         "1556668800": {
            "Amount": "400",
            "Unit": "USD"
         },
         "1575158400": {
            "Amount": "500",
            "Unit": "USD"
         },
         "1580515200": {
            "Amount": "200",
            "Unit": "USD"
         }
      },
      "BudgetName": "Example Budget",
      "BudgetType": "COST",
      "CalculatedSpend": { 
         "ActualSpend": { 
            "Amount": "50",
            "Unit": "USD"
         },
         "ForecastedSpend": { 
            "Amount": "100",
            "Unit": "USD"
         }
      },
      "FilterExpression": {
         "Dimensions": {
            "Key": "AZ",
            "Values": ["us-east-1"]
         }
      },
      "Metrics": ["UNBLENDED_COST"],
      "TimePeriod": { 
         "Start": 1477353600,
         "End": 1477958399
      },
      "TimeUnit": "MONTHLY"
   }
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/DescribeBudget) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/DescribeBudget) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/DescribeBudget) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/DescribeBudget) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/DescribeBudget) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/DescribeBudget) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/DescribeBudget) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/DescribeBudget) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/DescribeBudget) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/DescribeBudget) 

# DescribeBudgetAction


 Describes a budget action detail. 

## Request Syntax


```
{
   "AccountId": "string",
   "ActionId": "string",
   "BudgetName": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_DescribeBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetAction-request-AccountId"></a>
The account ID of the user. It's a 12-digit number.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [ActionId](#API_budgets_DescribeBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetAction-request-ActionId"></a>
 A system-generated universally unique identifier (UUID) for the action.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$`   
Required: Yes

 ** [BudgetName](#API_budgets_DescribeBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetAction-request-BudgetName"></a>
 A string that represents the budget name. The ":" and "\$1" characters, and the "/action/" substring, aren't allowed.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

## Response Syntax


```
{
   "AccountId": "string",
   "Action": { 
      "ActionId": "string",
      "ActionThreshold": { 
         "ActionThresholdType": "string",
         "ActionThresholdValue": number
      },
      "ActionType": "string",
      "ApprovalModel": "string",
      "BudgetName": "string",
      "Definition": { 
         "IamActionDefinition": { 
            "Groups": [ "string" ],
            "PolicyArn": "string",
            "Roles": [ "string" ],
            "Users": [ "string" ]
         },
         "ScpActionDefinition": { 
            "PolicyId": "string",
            "TargetIds": [ "string" ]
         },
         "SsmActionDefinition": { 
            "ActionSubType": "string",
            "InstanceIds": [ "string" ],
            "Region": "string"
         }
      },
      "ExecutionRoleArn": "string",
      "NotificationType": "string",
      "Status": "string",
      "Subscribers": [ 
         { 
            "Address": "string",
            "SubscriptionType": "string"
         }
      ]
   },
   "BudgetName": "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.

 ** [AccountId](#API_budgets_DescribeBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetAction-response-AccountId"></a>
The account ID of the user. It's a 12-digit number.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}` 

 ** [Action](#API_budgets_DescribeBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetAction-response-Action"></a>
 A budget action resource.   
Type: [Action](API_budgets_Action.md) object

 ** [BudgetName](#API_budgets_DescribeBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetAction-response-BudgetName"></a>
 A string that represents the budget name. The ":" and "\$1" characters, and the "/action/" substring, aren't allowed.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/DescribeBudgetAction) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/DescribeBudgetAction) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/DescribeBudgetAction) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/DescribeBudgetAction) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/DescribeBudgetAction) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/DescribeBudgetAction) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/DescribeBudgetAction) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/DescribeBudgetAction) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/DescribeBudgetAction) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/DescribeBudgetAction) 

# DescribeBudgetActionHistories


 Describes a budget action history detail. 

## Request Syntax


```
{
   "AccountId": "string",
   "ActionId": "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](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_DescribeBudgetActionHistories_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionHistories-request-AccountId"></a>
The account ID of the user. It's a 12-digit number.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [ActionId](#API_budgets_DescribeBudgetActionHistories_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionHistories-request-ActionId"></a>
 A system-generated universally unique identifier (UUID) for the action.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$`   
Required: Yes

 ** [BudgetName](#API_budgets_DescribeBudgetActionHistories_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionHistories-request-BudgetName"></a>
 A string that represents the budget name. The ":" and "\$1" characters, and the "/action/" substring, aren't allowed.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

 ** [MaxResults](#API_budgets_DescribeBudgetActionHistories_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionHistories-request-MaxResults"></a>
 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](#API_budgets_DescribeBudgetActionHistories_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionHistories-request-NextToken"></a>
 A generic string.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2147483647.  
Pattern: `.*`   
Required: No

 ** [TimePeriod](#API_budgets_DescribeBudgetActionHistories_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionHistories-request-TimePeriod"></a>
The period of time that's covered by a budget. The period has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date.   
Type: [TimePeriod](API_budgets_TimePeriod.md) object  
Required: No

## Response Syntax


```
{
   "ActionHistories": [ 
      { 
         "ActionHistoryDetails": { 
            "Action": { 
               "ActionId": "string",
               "ActionThreshold": { 
                  "ActionThresholdType": "string",
                  "ActionThresholdValue": number
               },
               "ActionType": "string",
               "ApprovalModel": "string",
               "BudgetName": "string",
               "Definition": { 
                  "IamActionDefinition": { 
                     "Groups": [ "string" ],
                     "PolicyArn": "string",
                     "Roles": [ "string" ],
                     "Users": [ "string" ]
                  },
                  "ScpActionDefinition": { 
                     "PolicyId": "string",
                     "TargetIds": [ "string" ]
                  },
                  "SsmActionDefinition": { 
                     "ActionSubType": "string",
                     "InstanceIds": [ "string" ],
                     "Region": "string"
                  }
               },
               "ExecutionRoleArn": "string",
               "NotificationType": "string",
               "Status": "string",
               "Subscribers": [ 
                  { 
                     "Address": "string",
                     "SubscriptionType": "string"
                  }
               ]
            },
            "Message": "string"
         },
         "EventType": "string",
         "Status": "string",
         "Timestamp": number
      }
   ],
   "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.

 ** [ActionHistories](#API_budgets_DescribeBudgetActionHistories_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionHistories-response-ActionHistories"></a>
 The historical record of the budget action resource.   
Type: Array of [ActionHistory](API_budgets_ActionHistory.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 100 items.

 ** [NextToken](#API_budgets_DescribeBudgetActionHistories_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionHistories-response-NextToken"></a>
 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 Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/DescribeBudgetActionHistories) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/DescribeBudgetActionHistories) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/DescribeBudgetActionHistories) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/DescribeBudgetActionHistories) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/DescribeBudgetActionHistories) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/DescribeBudgetActionHistories) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/DescribeBudgetActionHistories) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/DescribeBudgetActionHistories) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/DescribeBudgetActionHistories) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/DescribeBudgetActionHistories) 

# DescribeBudgetActionsForAccount


 Describes all of the budget actions for an account. 

## Request Syntax


```
{
   "AccountId": "string",
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_DescribeBudgetActionsForAccount_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionsForAccount-request-AccountId"></a>
The account ID of the user. It's a 12-digit number.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [MaxResults](#API_budgets_DescribeBudgetActionsForAccount_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionsForAccount-request-MaxResults"></a>
 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](#API_budgets_DescribeBudgetActionsForAccount_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionsForAccount-request-NextToken"></a>
 A generic string.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2147483647.  
Pattern: `.*`   
Required: No

## Response Syntax


```
{
   "Actions": [ 
      { 
         "ActionId": "string",
         "ActionThreshold": { 
            "ActionThresholdType": "string",
            "ActionThresholdValue": number
         },
         "ActionType": "string",
         "ApprovalModel": "string",
         "BudgetName": "string",
         "Definition": { 
            "IamActionDefinition": { 
               "Groups": [ "string" ],
               "PolicyArn": "string",
               "Roles": [ "string" ],
               "Users": [ "string" ]
            },
            "ScpActionDefinition": { 
               "PolicyId": "string",
               "TargetIds": [ "string" ]
            },
            "SsmActionDefinition": { 
               "ActionSubType": "string",
               "InstanceIds": [ "string" ],
               "Region": "string"
            }
         },
         "ExecutionRoleArn": "string",
         "NotificationType": "string",
         "Status": "string",
         "Subscribers": [ 
            { 
               "Address": "string",
               "SubscriptionType": "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.

 ** [Actions](#API_budgets_DescribeBudgetActionsForAccount_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionsForAccount-response-Actions"></a>
 A list of the budget action resources information.   
Type: Array of [Action](API_budgets_Action.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 100 items.

 ** [NextToken](#API_budgets_DescribeBudgetActionsForAccount_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionsForAccount-response-NextToken"></a>
 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 Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/DescribeBudgetActionsForAccount) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/DescribeBudgetActionsForAccount) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/DescribeBudgetActionsForAccount) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/DescribeBudgetActionsForAccount) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/DescribeBudgetActionsForAccount) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/DescribeBudgetActionsForAccount) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/DescribeBudgetActionsForAccount) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/DescribeBudgetActionsForAccount) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/DescribeBudgetActionsForAccount) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/DescribeBudgetActionsForAccount) 

# DescribeBudgetActionsForBudget


 Describes all of the budget actions for a budget. 

## Request Syntax


```
{
   "AccountId": "string",
   "BudgetName": "string",
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_DescribeBudgetActionsForBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionsForBudget-request-AccountId"></a>
The account ID of the user. It's a 12-digit number.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [BudgetName](#API_budgets_DescribeBudgetActionsForBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionsForBudget-request-BudgetName"></a>
 A string that represents the budget name. The ":" and "\$1" characters, and the "/action/" substring, aren't allowed.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

 ** [MaxResults](#API_budgets_DescribeBudgetActionsForBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionsForBudget-request-MaxResults"></a>
 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](#API_budgets_DescribeBudgetActionsForBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionsForBudget-request-NextToken"></a>
 A generic string.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2147483647.  
Pattern: `.*`   
Required: No

## Response Syntax


```
{
   "Actions": [ 
      { 
         "ActionId": "string",
         "ActionThreshold": { 
            "ActionThresholdType": "string",
            "ActionThresholdValue": number
         },
         "ActionType": "string",
         "ApprovalModel": "string",
         "BudgetName": "string",
         "Definition": { 
            "IamActionDefinition": { 
               "Groups": [ "string" ],
               "PolicyArn": "string",
               "Roles": [ "string" ],
               "Users": [ "string" ]
            },
            "ScpActionDefinition": { 
               "PolicyId": "string",
               "TargetIds": [ "string" ]
            },
            "SsmActionDefinition": { 
               "ActionSubType": "string",
               "InstanceIds": [ "string" ],
               "Region": "string"
            }
         },
         "ExecutionRoleArn": "string",
         "NotificationType": "string",
         "Status": "string",
         "Subscribers": [ 
            { 
               "Address": "string",
               "SubscriptionType": "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.

 ** [Actions](#API_budgets_DescribeBudgetActionsForBudget_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionsForBudget-response-Actions"></a>
 A list of the budget action resources information.   
Type: Array of [Action](API_budgets_Action.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 100 items.

 ** [NextToken](#API_budgets_DescribeBudgetActionsForBudget_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetActionsForBudget-response-NextToken"></a>
 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 Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/DescribeBudgetActionsForBudget) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/DescribeBudgetActionsForBudget) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/DescribeBudgetActionsForBudget) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/DescribeBudgetActionsForBudget) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/DescribeBudgetActionsForBudget) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/DescribeBudgetActionsForBudget) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/DescribeBudgetActionsForBudget) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/DescribeBudgetActionsForBudget) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/DescribeBudgetActionsForBudget) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/DescribeBudgetActionsForBudget) 

# DescribeBudgetNotificationsForAccount


 Lists the budget names and notifications that are associated with an account. 

## Request Syntax


```
{
   "AccountId": "string",
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_DescribeBudgetNotificationsForAccount_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetNotificationsForAccount-request-AccountId"></a>
The account ID of the user. It's a 12-digit number.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [MaxResults](#API_budgets_DescribeBudgetNotificationsForAccount_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetNotificationsForAccount-request-MaxResults"></a>
 An integer that represents how many budgets a paginated response contains. The default is 50.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_budgets_DescribeBudgetNotificationsForAccount_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetNotificationsForAccount-request-NextToken"></a>
 A generic string.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2147483647.  
Pattern: `.*`   
Required: No

## Response Syntax


```
{
   "BudgetNotificationsForAccount": [ 
      { 
         "BudgetName": "string",
         "Notifications": [ 
            { 
               "ComparisonOperator": "string",
               "NotificationState": "string",
               "NotificationType": "string",
               "Threshold": number,
               "ThresholdType": "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.

 ** [BudgetNotificationsForAccount](#API_budgets_DescribeBudgetNotificationsForAccount_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetNotificationsForAccount-response-BudgetNotificationsForAccount"></a>
 A list of budget names and associated notifications for an account.   
Type: Array of [BudgetNotificationsForAccount](API_budgets_BudgetNotificationsForAccount.md) objects  
Array Members: Maximum number of 1000 items.

 ** [NextToken](#API_budgets_DescribeBudgetNotificationsForAccount_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetNotificationsForAccount-response-NextToken"></a>
 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 Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ExpiredNextTokenException **   
The pagination token expired.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/DescribeBudgetNotificationsForAccount) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/DescribeBudgetNotificationsForAccount) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/DescribeBudgetNotificationsForAccount) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/DescribeBudgetNotificationsForAccount) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/DescribeBudgetNotificationsForAccount) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/DescribeBudgetNotificationsForAccount) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/DescribeBudgetNotificationsForAccount) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/DescribeBudgetNotificationsForAccount) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/DescribeBudgetNotificationsForAccount) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/DescribeBudgetNotificationsForAccount) 

# 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](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_DescribeBudgetPerformanceHistory_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetPerformanceHistory-request-AccountId"></a>
The account ID of the user. It's a 12-digit number.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [BudgetName](#API_budgets_DescribeBudgetPerformanceHistory_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetPerformanceHistory-request-BudgetName"></a>
 A string that represents the budget name. The ":" and "\$1" characters, and the "/action/" substring, aren't allowed.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

 ** [MaxResults](#API_budgets_DescribeBudgetPerformanceHistory_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetPerformanceHistory-request-MaxResults"></a>
 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](#API_budgets_DescribeBudgetPerformanceHistory_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetPerformanceHistory-request-NextToken"></a>
 A generic string.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2147483647.  
Pattern: `.*`   
Required: No

 ** [TimePeriod](#API_budgets_DescribeBudgetPerformanceHistory_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetPerformanceHistory-request-TimePeriod"></a>
Retrieves how often the budget went into an `ALARM` state for the specified time period.  
Type: [TimePeriod](API_budgets_TimePeriod.md) object  
Required: No

## Response Syntax


```
{
   "BudgetPerformanceHistory": { 
      "BillingViewArn": "string",
      "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
      },
      "FilterExpression": { 
         "And": [ 
            "Expression"
         ],
         "CostCategories": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         },
         "Dimensions": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         },
         "Not": "Expression",
         "Or": [ 
            "Expression"
         ],
         "Tags": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         }
      },
      "Metrics": [ "string" ],
      "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](#API_budgets_DescribeBudgetPerformanceHistory_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetPerformanceHistory-response-BudgetPerformanceHistory"></a>
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](API_budgets_BudgetPerformanceHistory.md) object

 ** [NextToken](#API_budgets_DescribeBudgetPerformanceHistory_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgetPerformanceHistory-response-NextToken"></a>
 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 Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** BillingViewHealthStatusException **   
 The billing view status must be HEALTHY to perform this action. Try again when the status is HEALTHY.     
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ExpiredNextTokenException **   
The pagination token expired.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### 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 Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/DescribeBudgetPerformanceHistory) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/DescribeBudgetPerformanceHistory) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/DescribeBudgetPerformanceHistory) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/DescribeBudgetPerformanceHistory) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/DescribeBudgetPerformanceHistory) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/DescribeBudgetPerformanceHistory) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/DescribeBudgetPerformanceHistory) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/DescribeBudgetPerformanceHistory) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/DescribeBudgetPerformanceHistory) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/DescribeBudgetPerformanceHistory) 

# DescribeBudgets


Lists the budgets that are associated with an account.

**Important**  
The Request Syntax section shows the `BudgetLimit` syntax. For `PlannedBudgetLimits`, see the [Examples](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_budgets_DescribeBudgets.html#API_DescribeBudgets_Examples) section.

## Request Syntax


```
{
   "AccountId": "string",
   "MaxResults": number,
   "NextToken": "string",
   "ShowFilterExpression": boolean
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_DescribeBudgets_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgets-request-AccountId"></a>
The `accountId` that is associated with the budgets that you want to describe.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [MaxResults](#API_budgets_DescribeBudgets_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgets-request-MaxResults"></a>
An integer that represents how many budgets a paginated response contains. The default is 100.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_budgets_DescribeBudgets_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgets-request-NextToken"></a>
The pagination token that you include in your request to indicate the next set of results that you want to retrieve.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2147483647.  
Pattern: `.*`   
Required: No

 ** [ShowFilterExpression](#API_budgets_DescribeBudgets_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgets-request-ShowFilterExpression"></a>
Specifies whether the response includes the filter expression associated with the budgets. By showing the filter expression, you can see detailed filtering logic applied to the budgets, such as Amazon services or tags that are being tracked.  
Type: Boolean  
Required: No

## Response Syntax


```
{
   "Budgets": [ 
      { 
         "AutoAdjustData": { 
            "AutoAdjustType": "string",
            "HistoricalOptions": { 
               "BudgetAdjustmentPeriod": number,
               "LookBackAvailablePeriods": number
            },
            "LastAutoAdjustTime": number
         },
         "BillingViewArn": "string",
         "BudgetLimit": { 
            "Amount": "string",
            "Unit": "string"
         },
         "BudgetName": "string",
         "BudgetType": "string",
         "CalculatedSpend": { 
            "ActualSpend": { 
               "Amount": "string",
               "Unit": "string"
            },
            "ForecastedSpend": { 
               "Amount": "string",
               "Unit": "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
         },
         "FilterExpression": { 
            "And": [ 
               "Expression"
            ],
            "CostCategories": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            },
            "Dimensions": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            },
            "Not": "Expression",
            "Or": [ 
               "Expression"
            ],
            "Tags": { 
               "Key": "string",
               "MatchOptions": [ "string" ],
               "Values": [ "string" ]
            }
         },
         "HealthStatus": { 
            "LastUpdatedTime": number,
            "Status": "string",
            "StatusReason": "string"
         },
         "LastUpdatedTime": number,
         "Metrics": [ "string" ],
         "PlannedBudgetLimits": { 
            "string" : { 
               "Amount": "string",
               "Unit": "string"
            }
         },
         "TimePeriod": { 
            "End": number,
            "Start": number
         },
         "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.

 ** [Budgets](#API_budgets_DescribeBudgets_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgets-response-Budgets"></a>
A list of budgets.  
Type: Array of [Budget](API_budgets_Budget.md) objects

 ** [NextToken](#API_budgets_DescribeBudgets_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeBudgets-response-NextToken"></a>
The pagination token in the service response that indicates the next set of results that you can retrieve.  
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 Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ExpiredNextTokenException **   
The pagination token expired.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is the `PlannedBudgetLimits` syntax.

```
{
   "Budgets": [ 
      { 
         "BudgetLimit": { 
            "Amount": "string",
            "Unit": "string"
         },
         "PlannedBudgetLimits": {
             "string": {
                "Amount": "string",
                "Unit": "string"
             }
         },
         "BudgetName": "string",
         "BudgetType": "string",
         "CalculatedSpend": { 
            "ActualSpend": { 
               "Amount": "string",
               "Unit": "string"
            },
            "ForecastedSpend": { 
               "Amount": "string",
               "Unit": "string"
            }
         },
         "FilterExpression": {
            "And": [
               "Expression"
            ],
            "Dimensions": {
               "Key": "string",
               "Values": ["string"]
            },
            "Not": "Expression",
            "Or": [
               "Expression"
            ],
            "Tags": {
               "Key": "string",
               "Values": ["string"]
            }
         },
         "Metrics": ["string"],
         "LastUpdatedTime": number,
         "TimePeriod": { 
            "End": number,
            "Start": number
         },
         "TimeUnit": "string"
      }
   ],
   "NextToken": "string"
}
```

### Example


This example illustrates one usage of DescribeBudgets.

#### Sample Request


```
POST / 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.DescribeBudgets

{
   "AccountId": "111122223333",   
   "MaxResults": 20
}
```

#### Sample Response


```
{
   "Budgets": [ 
      { 
         "BudgetLimit": { 
            "Amount": "100",
            "Unit": "USD"
         },
         "BudgetName": "Example Limit Fixed Budget",
         "BudgetType": "COST",
         "CalculatedSpend": { 
            "ActualSpend": { 
               "Amount": "50",
               "Unit": "USD"
            },
            "ForecastedSpend": { 
               "Amount": "100",
               "Unit": "USD"
            }
         },
         "FilterExpression": {
            "Dimensions": {
               "Key": "AZ",
               "Values": ["us-east-1"]
            }
         },
         "Metrics": ["UNBLENDED_COST"],
         "TimePeriod": { 
            "Start": 1477353600,
            "End": 1477958399
         },
         "TimeUnit": "MONTHLY"
      },
      { 
         "BudgetLimit": { 
            "Amount": "100",
            "Unit": "USD"
         },
         "PlannedBudgetLimits":{
            "1583020800": {
               "Amount": "100",
               "Unit": "USD"
            },
            "1564617600": {
               "Amount": "200",
               "Unit": "USD"
            },
            "1569888000": {
               "Amount": "300",
               "Unit": "USD"
            },
            "1556668800": {
               "Amount": "400",
               "Unit": "USD"
            },
            "1575158400": {
               "Amount": "500",
               "Unit": "USD"
            },
            "1580515200": {
               "Amount": "200",
               "Unit": "USD"
            }
         },
         "BudgetName": "Example Planned Limits Budget",
         "BudgetType": "COST",
         "CalculatedSpend": { 
            "ActualSpend": { 
               "Amount": "50",
               "Unit": "USD"
            },
            "ForecastedSpend": { 
               "Amount": "100",
               "Unit": "USD"
            }
         },
         "FilterExpression": {
            "Dimensions": {
               "Key": "AZ",
               "Values": ["us-east-1"]
            }
         },
         "Metrics": ["UNBLENDED_COST"],
         "TimePeriod": { 
            "Start": 1477353600,
            "End": 1477958399
         },
         "TimeUnit": "MONTHLY"
      }
   ],
   "NextToken": "exampleTokenString"
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/DescribeBudgets) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/DescribeBudgets) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/DescribeBudgets) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/DescribeBudgets) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/DescribeBudgets) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/DescribeBudgets) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/DescribeBudgets) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/DescribeBudgets) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/DescribeBudgets) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/DescribeBudgets) 

# DescribeNotificationsForBudget


Lists the notifications that are associated with a budget.

## Request Syntax


```
{
   "AccountId": "string",
   "BudgetName": "string",
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_DescribeNotificationsForBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeNotificationsForBudget-request-AccountId"></a>
The `accountId` that is associated with the budget whose notifications you want descriptions of.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [BudgetName](#API_budgets_DescribeNotificationsForBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeNotificationsForBudget-request-BudgetName"></a>
The name of the budget whose notifications you want descriptions of.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

 ** [MaxResults](#API_budgets_DescribeNotificationsForBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeNotificationsForBudget-request-MaxResults"></a>
An optional integer that represents how many entries a paginated response contains.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextToken](#API_budgets_DescribeNotificationsForBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeNotificationsForBudget-request-NextToken"></a>
The pagination token that you include in your request to indicate the next set of results that you want to retrieve.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2147483647.  
Pattern: `.*`   
Required: No

## Response Syntax


```
{
   "NextToken": "string",
   "Notifications": [ 
      { 
         "ComparisonOperator": "string",
         "NotificationState": "string",
         "NotificationType": "string",
         "Threshold": number,
         "ThresholdType": "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.

 ** [NextToken](#API_budgets_DescribeNotificationsForBudget_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeNotificationsForBudget-response-NextToken"></a>
The pagination token in the service response that indicates the next set of results that you can retrieve.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2147483647.  
Pattern: `.*` 

 ** [Notifications](#API_budgets_DescribeNotificationsForBudget_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeNotificationsForBudget-response-Notifications"></a>
A list of notifications that are associated with a budget.  
Type: Array of [Notification](API_budgets_Notification.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ExpiredNextTokenException **   
The pagination token expired.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is a sample request and response of the `DescribeNotificationsForBudget` operation.

#### Sample Request


```
POST / 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.DescribeNotificationsForBudget
{
   "AccountId": "111122223333",
   "BudgetName": "Example Budget",
   "MaxResults": 5
}
```

#### Sample Response


```
{
   "NextToken": "exampleTokenString",
   "Notifications": [ 
      { 
      "ComparisonOperator": "GREATER_THAN",
      "NotificationType": "ACTUAL",
      "Threshold": 80,
      "ThresholdType": "PERCENTAGE"
      }
   ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/DescribeNotificationsForBudget) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/DescribeNotificationsForBudget) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/DescribeNotificationsForBudget) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/DescribeNotificationsForBudget) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/DescribeNotificationsForBudget) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/DescribeNotificationsForBudget) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/DescribeNotificationsForBudget) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/DescribeNotificationsForBudget) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/DescribeNotificationsForBudget) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/DescribeNotificationsForBudget) 

# DescribeSubscribersForNotification


Lists the subscribers that are associated with a notification.

## Request Syntax


```
{
   "AccountId": "string",
   "BudgetName": "string",
   "MaxResults": number,
   "NextToken": "string",
   "Notification": { 
      "ComparisonOperator": "string",
      "NotificationState": "string",
      "NotificationType": "string",
      "Threshold": number,
      "ThresholdType": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_DescribeSubscribersForNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeSubscribersForNotification-request-AccountId"></a>
The `accountId` that is associated with the budget whose subscribers you want descriptions of.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [BudgetName](#API_budgets_DescribeSubscribersForNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeSubscribersForNotification-request-BudgetName"></a>
The name of the budget whose subscribers you want descriptions of.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

 ** [MaxResults](#API_budgets_DescribeSubscribersForNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeSubscribersForNotification-request-MaxResults"></a>
An optional integer that represents how many entries a paginated response contains.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextToken](#API_budgets_DescribeSubscribersForNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeSubscribersForNotification-request-NextToken"></a>
The pagination token that you include in your request to indicate the next set of results that you want to retrieve.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2147483647.  
Pattern: `.*`   
Required: No

 ** [Notification](#API_budgets_DescribeSubscribersForNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_DescribeSubscribersForNotification-request-Notification"></a>
The notification whose subscribers you want to list.  
Type: [Notification](API_budgets_Notification.md) object  
Required: Yes

## Response Syntax


```
{
   "NextToken": "string",
   "Subscribers": [ 
      { 
         "Address": "string",
         "SubscriptionType": "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.

 ** [NextToken](#API_budgets_DescribeSubscribersForNotification_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeSubscribersForNotification-response-NextToken"></a>
The pagination token in the service response that indicates the next set of results that you can retrieve.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 2147483647.  
Pattern: `.*` 

 ** [Subscribers](#API_budgets_DescribeSubscribersForNotification_ResponseSyntax) **   <a name="awscostmanagement-budgets_DescribeSubscribersForNotification-response-Subscribers"></a>
A list of subscribers that are associated with a notification.  
Type: Array of [Subscriber](API_budgets_Subscriber.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 11 items.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ExpiredNextTokenException **   
The pagination token expired.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidNextTokenException **   
The pagination token is invalid.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is a sample request and response of the `DescribeSubscribersForNotification` operation.

#### Sample Request


```
POST / 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.DescribeSubscribersForNotification
{
   "AccountId": "111122223333",
   "BudgetName": "Example Budget",
   "MaxResults": 5,
   "Notification": { 
      "ComparisonOperator": "GREATER_THAN",
      "NotificationType": "ACTUAL",
      "Threshold": 80,
      "ThresholdType": "PERCENTAGE"
    }
}
```

#### Sample Response


```
{
   "NextToken": "string",
   "Subscribers": [ 
      { 
           "Address": "example@example.com",
           "SubscriptionType": "EMAIL"
      }
   ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/DescribeSubscribersForNotification) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/DescribeSubscribersForNotification) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/DescribeSubscribersForNotification) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/DescribeSubscribersForNotification) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/DescribeSubscribersForNotification) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/DescribeSubscribersForNotification) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/DescribeSubscribersForNotification) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/DescribeSubscribersForNotification) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/DescribeSubscribersForNotification) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/DescribeSubscribersForNotification) 

# ExecuteBudgetAction


 Executes a budget action. 

## Request Syntax


```
{
   "AccountId": "string",
   "ActionId": "string",
   "BudgetName": "string",
   "ExecutionType": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_ExecuteBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_ExecuteBudgetAction-request-AccountId"></a>
The account ID of the user. It's a 12-digit number.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [ActionId](#API_budgets_ExecuteBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_ExecuteBudgetAction-request-ActionId"></a>
 A system-generated universally unique identifier (UUID) for the action.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$`   
Required: Yes

 ** [BudgetName](#API_budgets_ExecuteBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_ExecuteBudgetAction-request-BudgetName"></a>
 A string that represents the budget name. The ":" and "\$1" characters, and the "/action/" substring, aren't allowed.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

 ** [ExecutionType](#API_budgets_ExecuteBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_ExecuteBudgetAction-request-ExecutionType"></a>
 The type of execution.   
Type: String  
Valid Values: `APPROVE_BUDGET_ACTION | RETRY_BUDGET_ACTION | REVERSE_BUDGET_ACTION | RESET_BUDGET_ACTION`   
Required: Yes

## Response Syntax


```
{
   "AccountId": "string",
   "ActionId": "string",
   "BudgetName": "string",
   "ExecutionType": "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.

 ** [AccountId](#API_budgets_ExecuteBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_ExecuteBudgetAction-response-AccountId"></a>
The account ID of the user. It's a 12-digit number.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}` 

 ** [ActionId](#API_budgets_ExecuteBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_ExecuteBudgetAction-response-ActionId"></a>
 A system-generated universally unique identifier (UUID) for the action.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$` 

 ** [BudgetName](#API_budgets_ExecuteBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_ExecuteBudgetAction-response-BudgetName"></a>
 A string that represents the budget name. The ":" and "\$1" characters, and the "/action/" substring, aren't allowed.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$` 

 ** [ExecutionType](#API_budgets_ExecuteBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_ExecuteBudgetAction-response-ExecutionType"></a>
 The type of execution.   
Type: String  
Valid Values: `APPROVE_BUDGET_ACTION | RETRY_BUDGET_ACTION | REVERSE_BUDGET_ACTION | RESET_BUDGET_ACTION` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ResourceLockedException **   
The request was received and recognized by the server, but the server rejected that particular method for the requested resource.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/ExecuteBudgetAction) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/ExecuteBudgetAction) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/ExecuteBudgetAction) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/ExecuteBudgetAction) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/ExecuteBudgetAction) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/ExecuteBudgetAction) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/ExecuteBudgetAction) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/ExecuteBudgetAction) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/ExecuteBudgetAction) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/ExecuteBudgetAction) 

# ListTagsForResource


Lists tags associated with a budget or budget action resource.

## Request Syntax


```
{
   "ResourceARN": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceARN](#API_budgets_ListTagsForResource_RequestSyntax) **   <a name="awscostmanagement-budgets_ListTagsForResource-request-ResourceARN"></a>
The unique identifier for the resource.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1011.  
Required: Yes

## Response Syntax


```
{
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "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.

 ** [ResourceTags](#API_budgets_ListTagsForResource_ResponseSyntax) **   <a name="awscostmanagement-budgets_ListTagsForResource-response-ResourceTags"></a>
The tags associated with the resource.  
Type: Array of [ResourceTag](API_budgets_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is a sample request of the `ListTagsForResource` operation.

#### Sample Request


```
POST / 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.ListTagsForResource
{
  "ResourceARN": "arn:aws:budgets::111122223333:budget/taggedBudgetName"
}
```

### Example


The following is a sample response of the `ListTagsForResource` operation.

#### Sample Response


```
{
  "ResourceTags": [
    {
      "Key": "tagKey1",
      "Value": "value1"
    },
    {
      "Key": "tagKey2",
      "Value": "value1"
    }
  ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/ListTagsForResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/ListTagsForResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/ListTagsForResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/ListTagsForResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/ListTagsForResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/ListTagsForResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/ListTagsForResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/ListTagsForResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/ListTagsForResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/ListTagsForResource) 

# TagResource


Creates tags for a budget or budget action resource.

## Request Syntax


```
{
   "ResourceARN": "string",
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceARN](#API_budgets_TagResource_RequestSyntax) **   <a name="awscostmanagement-budgets_TagResource-request-ResourceARN"></a>
The unique identifier for the resource.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1011.  
Required: Yes

 ** [ResourceTags](#API_budgets_TagResource_RequestSyntax) **   <a name="awscostmanagement-budgets_TagResource-request-ResourceTags"></a>
The tags associated with the resource.  
Type: Array of [ResourceTag](API_budgets_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
You've reached a Service Quota limit on this resource.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is a sample request of the `TagResource` operation.

#### Sample Request


```
POST / 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.TagResource
{
  "ResourceARN": "arn:aws:budgets::111122223333:budget/taggedBudgetName",
  "ResourceTags": [
      {
          "Key": "tagKey1",
          "Value": "value1"
      },
      {
          "Key": "tagKey2",
          "Value": "value1"
      }
  ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/TagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/TagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/TagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/TagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/TagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/TagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/TagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/TagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/TagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/TagResource) 

# UntagResource


Deletes tags associated with a budget or budget action resource.

## Request Syntax


```
{
   "ResourceARN": "string",
   "ResourceTagKeys": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceARN](#API_budgets_UntagResource_RequestSyntax) **   <a name="awscostmanagement-budgets_UntagResource-request-ResourceARN"></a>
The unique identifier for the resource.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1011.  
Required: Yes

 ** [ResourceTagKeys](#API_budgets_UntagResource_RequestSyntax) **   <a name="awscostmanagement-budgets_UntagResource-request-ResourceTagKeys"></a>
The key that's associated with the tag.  
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is a sample request of the `UntagResource` operation.

#### Sample Request


```
POST / 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.UntagResource
{
  "ResourceARN": "arn:aws:budgets::111122223333:budget/taggedBudgetName",
  "ResourceTagKeys": [ "tagKey1" ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/UntagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/UntagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/UntagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/UntagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/UntagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/UntagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/UntagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/UntagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/UntagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/UntagResource) 

# UpdateBudget


Updates a budget. You can change every part of a budget except for the `budgetName` and the `calculatedSpend`. When you modify a budget, the `calculatedSpend` drops to zero until Amazon has new usage data to use for forecasting.

**Important**  
Only one of `BudgetLimit` or `PlannedBudgetLimits` can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the `BudgetLimit` syntax. For `PlannedBudgetLimits`, see the [Examples](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_budgets_UpdateBudget.html#API_UpdateBudget_Examples) section.  
Similarly, only one set of filter and metric selections can be present in the syntax at one time. Either `FilterExpression` and `Metrics` or `CostFilters` and `CostTypes`, not both or a different combination. We recommend using `FilterExpression` and `Metrics` as they provide more flexible and powerful filtering capabilities. The Request Syntax section shows the `FilterExpression`/`Metrics` syntax.

## Request Syntax


```
{
   "AccountId": "string",
   "NewBudget": { 
      "AutoAdjustData": { 
         "AutoAdjustType": "string",
         "HistoricalOptions": { 
            "BudgetAdjustmentPeriod": number,
            "LookBackAvailablePeriods": number
         },
         "LastAutoAdjustTime": number
      },
      "BillingViewArn": "string",
      "BudgetLimit": { 
         "Amount": "string",
         "Unit": "string"
      },
      "BudgetName": "string",
      "BudgetType": "string",
      "CalculatedSpend": { 
         "ActualSpend": { 
            "Amount": "string",
            "Unit": "string"
         },
         "ForecastedSpend": { 
            "Amount": "string",
            "Unit": "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
      },
      "FilterExpression": { 
         "And": [ 
            "Expression"
         ],
         "CostCategories": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         },
         "Dimensions": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         },
         "Not": "Expression",
         "Or": [ 
            "Expression"
         ],
         "Tags": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         }
      },
      "HealthStatus": { 
         "LastUpdatedTime": number,
         "Status": "string",
         "StatusReason": "string"
      },
      "LastUpdatedTime": number,
      "Metrics": [ "string" ],
      "PlannedBudgetLimits": { 
         "string" : { 
            "Amount": "string",
            "Unit": "string"
         }
      },
      "TimePeriod": { 
         "End": number,
         "Start": number
      },
      "TimeUnit": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_UpdateBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateBudget-request-AccountId"></a>
The `accountId` that is associated with the budget that you want to update.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [NewBudget](#API_budgets_UpdateBudget_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateBudget-request-NewBudget"></a>
The budget that you want to update your budget to.  
Type: [Budget](API_budgets_Budget.md) object  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** BillingViewHealthStatusException **   
 The billing view status must be HEALTHY to perform this action. Try again when the status is HEALTHY.     
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
You've reached a Service Quota limit on this resource.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is the `PlannedBudgetLimits` syntax.

```
{
   "AccountId": "string",
   "NewBudget": {
      "PlannedBudgetLimits": {
         "string": {
            "Amount": "string",
            "Unit": "string"
         }
      },
      "BudgetName": "string",
      "BudgetType": "string",
      "CalculatedSpend": { 
         "ActualSpend": { 
            "Amount": "string",
            "Unit": "string"
         },
         "ForecastedSpend": { 
            "Amount": "string",
            "Unit": "string"
         }
      },
      "FilterExpression": { 
         "And": [ 
            "Expression"
         ],
         "Dimensions": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         },
         "Not": "Expression",
         "Or": [ 
            "Expression"
         ],
         "Tags": { 
            "Key": "string",
            "MatchOptions": [ "string" ],
            "Values": [ "string" ]
         }
      },
      "Metrics": [ "string" ],
      "LastUpdatedTime": number,
      "TimePeriod": { 
         "End": number,
         "Start": number
      },
      "TimeUnit": "string"
   }
}
```

### Example


The following is a sample request of the `UpdateBudget` operation using `BudgetLimit`.

#### Sample Request


```
POST / 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.UpdateBudget

{
   "AccountId": "111122223333",
   "NewBudget": { 
      "BudgetLimit": { 
         "Amount": "100",
         "Unit": "USD"
      },
      "BudgetName": "Example Budget",
      "BudgetType": "COST",
      "FilterExpression": {
         "Dimensions": {
            "Key": "AZ",
            "Values": ["us-east-1"]
         }
      },
      "Metrics": ["UNBLENDED_COST"],
      "TimePeriod": { 
         "Start": 1477353600,
         "End": 1477958399
      },
      "TimeUnit": "MONTHLY",
      "NotificationsWithSubscribers": [ 
         { 
            "Notification": { 
               "ComparisonOperator": "GREATER_THAN",
               "NotificationType": "ACTUAL",
               "Threshold": 80,
               "ThresholdType": "PERCENTAGE"
            },
            "Subscribers": [ 
               { 
                  "Address": "budget-alerts@example.com",
                  "SubscriptionType": "EMAIL"
               }
            ]
         },
         { 
            "Notification": { 
               "ComparisonOperator": "GREATER_THAN",
               "NotificationType": "FORECASTED",
               "Threshold": 90,
               "ThresholdType": "PERCENTAGE"
            },
            "Subscribers": [ 
               { 
                  "Address": "budget-forecasts@example.com",
                  "SubscriptionType": "EMAIL"
               }
            ]
         }
      ]
   }
}
```

### Example


The following is an example of transitioning from `CostFilters`/`CostTypes` to `FilterExpression`/`Metrics`.

```
POST / 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.UpdateBudget

{
   "AccountId": "111122223333",
   "NewBudget": { 
      "BudgetLimit": { 
         "Amount": "100",
         "Unit": "USD"
      },
      "BudgetName": "Example Budget",
      "BudgetType": "COST",
      // Replacing these fields:
      /*
      "CostFilters": { 
         "Service": ["Amazon Simple Storage Service"],
         "Region": ["us-east-1"]
      },
      "CostTypes": { 
         "IncludeCredit": true,
         "IncludeDiscount": true,
         "UseBlended": false
      },
      */
      // With these new fields:
      "FilterExpression": {
         "Dimensions": {
            "Key": "SERVICE",
            "Values": ["Amazon Simple Storage Service"]
         },
         "And": [{
            "Dimensions": {
               "Key": "REGION",
               "Values": ["us-east-1"]
            }
         }]
      },
      "Metrics": ["UNBLENDED_COST"],
      "TimePeriod": { 
         "Start": 1477353600,
         "End": 1477958399
      },
      "TimeUnit": "MONTHLY",
      "NotificationsWithSubscribers": [ 
         { 
            "Notification": { 
               "ComparisonOperator": "GREATER_THAN",
               "NotificationType": "ACTUAL",
               "Threshold": 85,
               "ThresholdType": "PERCENTAGE"
            },
            "Subscribers": [ 
               { 
                  "Address": "migration-alerts@example.com",
                  "SubscriptionType": "EMAIL"
               }
            ]
         }
      ]
   }
}
```

### Example


The following is an example of updating a budget to use exclusion capabilities.

```
POST / 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.UpdateBudget

{
   "AccountId": "111122223333",
   "NewBudget": { 
      "BudgetLimit": { 
         "Amount": "1000",
         "Unit": "USD"
      },
      "BudgetName": "Example Budget",
      "BudgetType": "COST",
      "FilterExpression": {
         "Not": {
            "Dimensions": {
               "Key": "SERVICE",
               "Values": ["AWS Shield", "AWS Support (Enterprise)"]
            }
         }
      },
      "Metrics": ["NET_UNBLENDED_COST"],
      "TimePeriod": { 
         "Start": 1477353600,
         "End": 1477958399
      },
      "TimeUnit": "MONTHLY",
      "NotificationsWithSubscribers": [ 
         { 
            "Notification": { 
               "ComparisonOperator": "GREATER_THAN",
               "NotificationType": "ACTUAL",
               "Threshold": 70,
               "ThresholdType": "PERCENTAGE"
            },
            "Subscribers": [ 
               { 
                  "Address": "exclusion-alerts@example.com",
                  "SubscriptionType": "EMAIL"
               }
            ]
         },
         { 
            "Notification": { 
               "ComparisonOperator": "GREATER_THAN",
               "NotificationType": "FORECASTED",
               "Threshold": 100,
               "ThresholdType": "PERCENTAGE"
            },
            "Subscribers": [ 
               { 
                  "Address": "exclusion-forecasts@example.com",
                  "SubscriptionType": "EMAIL"
               }
            ]
         }
      ]
   }
}
```

### Example


The following is a sample request of the `UpdateBudget` operation using `PlannedBudgetLimits`.

#### Sample Request


```
POST / 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.UpdateBudget

{
   "AccountId": "111122223333",
   "NewBudget": { 
      "PlannedBudgetLimits":{
         "1712019600": {
            "Amount": "100",
            "Unit": "USD"
         },
         "1714611600": {
            "Amount": "200",
            "Unit": "USD"
         },
         "1717203600": {
            "Amount": "300",
            "Unit": "USD"
         }
      },
      "BudgetName": "Example Budget",
      "BudgetType": "COST",
      "FilterExpression": {
         "Dimensions": {
            "Key": "AZ",
            "Values": ["us-east-1"]
         },
         "And": [{
            "Dimensions": {
               "Key": "SERVICE",
               "Values": ["Amazon Simple Storage Service", "Amazon FSx"]
            }
         }]
      },
      "Metrics": ["NET_UNBLENDED_COST"],
      "TimePeriod": { 
         "Start": 1712019600,
         "End": 1717203600
      },
      "TimeUnit": "MONTHLY",
      "NotificationsWithSubscribers": [ 
         { 
            "Notification": { 
               "ComparisonOperator": "GREATER_THAN",
               "NotificationType": "ACTUAL",
               "Threshold": 50,
               "ThresholdType": "PERCENTAGE"
            },
            "Subscribers": [ 
               { 
                  "Address": "planned-budget-alerts-1@example.com",
                  "SubscriptionType": "EMAIL"
               }
            ]
         },
         { 
            "Notification": { 
               "ComparisonOperator": "GREATER_THAN",
               "NotificationType": "ACTUAL",
               "Threshold": 75,
               "ThresholdType": "PERCENTAGE"
            },
            "Subscribers": [ 
               { 
                  "Address": "planned-budget-alerts-2@example.com",
                  "SubscriptionType": "EMAIL"
               }
            ]
         },
         { 
            "Notification": { 
               "ComparisonOperator": "GREATER_THAN",
               "NotificationType": "ACTUAL",
               "Threshold": 90,
               "ThresholdType": "PERCENTAGE"
            },
            "Subscribers": [ 
               { 
                  "Address": "planned-budget-alerts-3@example.com",
                  "SubscriptionType": "EMAIL"
               }
            ]
         }
      ]
   }
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/UpdateBudget) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/UpdateBudget) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/UpdateBudget) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/UpdateBudget) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/UpdateBudget) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/UpdateBudget) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/UpdateBudget) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/UpdateBudget) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/UpdateBudget) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/UpdateBudget) 

# UpdateBudgetAction


 Updates a budget action. 

## Request Syntax


```
{
   "AccountId": "string",
   "ActionId": "string",
   "ActionThreshold": { 
      "ActionThresholdType": "string",
      "ActionThresholdValue": number
   },
   "ApprovalModel": "string",
   "BudgetName": "string",
   "Definition": { 
      "IamActionDefinition": { 
         "Groups": [ "string" ],
         "PolicyArn": "string",
         "Roles": [ "string" ],
         "Users": [ "string" ]
      },
      "ScpActionDefinition": { 
         "PolicyId": "string",
         "TargetIds": [ "string" ]
      },
      "SsmActionDefinition": { 
         "ActionSubType": "string",
         "InstanceIds": [ "string" ],
         "Region": "string"
      }
   },
   "ExecutionRoleArn": "string",
   "NotificationType": "string",
   "Subscribers": [ 
      { 
         "Address": "string",
         "SubscriptionType": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_UpdateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateBudgetAction-request-AccountId"></a>
The account ID of the user. It's a 12-digit number.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [ActionId](#API_budgets_UpdateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateBudgetAction-request-ActionId"></a>
 A system-generated universally unique identifier (UUID) for the action.   
Type: String  
Length Constraints: Fixed length of 36.  
Pattern: `^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$`   
Required: Yes

 ** [ActionThreshold](#API_budgets_UpdateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateBudgetAction-request-ActionThreshold"></a>
The trigger threshold of the action.   
Type: [ActionThreshold](API_budgets_ActionThreshold.md) object  
Required: No

 ** [ApprovalModel](#API_budgets_UpdateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateBudgetAction-request-ApprovalModel"></a>
 This specifies if the action needs manual or automatic approval.   
Type: String  
Valid Values: `AUTOMATIC | MANUAL`   
Required: No

 ** [BudgetName](#API_budgets_UpdateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateBudgetAction-request-BudgetName"></a>
 A string that represents the budget name. The ":" and "\$1" characters, and the "/action/" substring, aren't allowed.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

 ** [Definition](#API_budgets_UpdateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateBudgetAction-request-Definition"></a>
Specifies all of the type-specific parameters.   
Type: [Definition](API_budgets_Definition.md) object  
Required: No

 ** [ExecutionRoleArn](#API_budgets_UpdateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateBudgetAction-request-ExecutionRoleArn"></a>
 The role passed for action execution and reversion. Roles and actions must be in the same account.   
Type: String  
Length Constraints: Minimum length of 32. Maximum length of 618.  
Pattern: `^arn:aws(-eusc|-cn|-us-gov|-iso|-iso-[a-z]{1})?:iam::\d{12}:role(\u002F[\u0021-\u007F]+\u002F|\u002F)[\w+=,.@-]+$`   
Required: No

 ** [NotificationType](#API_budgets_UpdateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateBudgetAction-request-NotificationType"></a>
 The type of a notification. It must be ACTUAL or FORECASTED.  
Type: String  
Valid Values: `ACTUAL | FORECASTED`   
Required: No

 ** [Subscribers](#API_budgets_UpdateBudgetAction_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateBudgetAction-request-Subscribers"></a>
 A list of subscribers.  
Type: Array of [Subscriber](API_budgets_Subscriber.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 11 items.  
Required: No

## Response Syntax


```
{
   "AccountId": "string",
   "BudgetName": "string",
   "NewAction": { 
      "ActionId": "string",
      "ActionThreshold": { 
         "ActionThresholdType": "string",
         "ActionThresholdValue": number
      },
      "ActionType": "string",
      "ApprovalModel": "string",
      "BudgetName": "string",
      "Definition": { 
         "IamActionDefinition": { 
            "Groups": [ "string" ],
            "PolicyArn": "string",
            "Roles": [ "string" ],
            "Users": [ "string" ]
         },
         "ScpActionDefinition": { 
            "PolicyId": "string",
            "TargetIds": [ "string" ]
         },
         "SsmActionDefinition": { 
            "ActionSubType": "string",
            "InstanceIds": [ "string" ],
            "Region": "string"
         }
      },
      "ExecutionRoleArn": "string",
      "NotificationType": "string",
      "Status": "string",
      "Subscribers": [ 
         { 
            "Address": "string",
            "SubscriptionType": "string"
         }
      ]
   },
   "OldAction": { 
      "ActionId": "string",
      "ActionThreshold": { 
         "ActionThresholdType": "string",
         "ActionThresholdValue": number
      },
      "ActionType": "string",
      "ApprovalModel": "string",
      "BudgetName": "string",
      "Definition": { 
         "IamActionDefinition": { 
            "Groups": [ "string" ],
            "PolicyArn": "string",
            "Roles": [ "string" ],
            "Users": [ "string" ]
         },
         "ScpActionDefinition": { 
            "PolicyId": "string",
            "TargetIds": [ "string" ]
         },
         "SsmActionDefinition": { 
            "ActionSubType": "string",
            "InstanceIds": [ "string" ],
            "Region": "string"
         }
      },
      "ExecutionRoleArn": "string",
      "NotificationType": "string",
      "Status": "string",
      "Subscribers": [ 
         { 
            "Address": "string",
            "SubscriptionType": "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.

 ** [AccountId](#API_budgets_UpdateBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_UpdateBudgetAction-response-AccountId"></a>
The account ID of the user. It's a 12-digit number.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}` 

 ** [BudgetName](#API_budgets_UpdateBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_UpdateBudgetAction-response-BudgetName"></a>
 A string that represents the budget name. The ":" and "\$1" characters, and the "/action/" substring, aren't allowed.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$` 

 ** [NewAction](#API_budgets_UpdateBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_UpdateBudgetAction-response-NewAction"></a>
 The updated action resource information.   
Type: [Action](API_budgets_Action.md) object

 ** [OldAction](#API_budgets_UpdateBudgetAction_ResponseSyntax) **   <a name="awscostmanagement-budgets_UpdateBudgetAction-response-OldAction"></a>
 The previous action resource information.   
Type: [Action](API_budgets_Action.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ResourceLockedException **   
The request was received and recognized by the server, but the server rejected that particular method for the requested resource.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/UpdateBudgetAction) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/UpdateBudgetAction) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/UpdateBudgetAction) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/UpdateBudgetAction) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/UpdateBudgetAction) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/UpdateBudgetAction) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/UpdateBudgetAction) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/UpdateBudgetAction) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/UpdateBudgetAction) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/UpdateBudgetAction) 

# UpdateNotification


Updates a notification.

## Request Syntax


```
{
   "AccountId": "string",
   "BudgetName": "string",
   "NewNotification": { 
      "ComparisonOperator": "string",
      "NotificationState": "string",
      "NotificationType": "string",
      "Threshold": number,
      "ThresholdType": "string"
   },
   "OldNotification": { 
      "ComparisonOperator": "string",
      "NotificationState": "string",
      "NotificationType": "string",
      "Threshold": number,
      "ThresholdType": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_UpdateNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateNotification-request-AccountId"></a>
The `accountId` that is associated with the budget whose notification you want to update.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [BudgetName](#API_budgets_UpdateNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateNotification-request-BudgetName"></a>
The name of the budget whose notification you want to update.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

 ** [NewNotification](#API_budgets_UpdateNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateNotification-request-NewNotification"></a>
The updated notification to be associated with a budget.  
Type: [Notification](API_budgets_Notification.md) object  
Required: Yes

 ** [OldNotification](#API_budgets_UpdateNotification_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateNotification-request-OldNotification"></a>
The previous notification that is associated with a budget.  
Type: [Notification](API_budgets_Notification.md) object  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** DuplicateRecordException **   
The budget name already exists. Budget names must be unique within an account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is a sample request of the `UpdateNotification` operation.

#### Sample Request


```
POST / 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.UpdateNotification
{
   "AccountId": "111122223333",
   "BudgetName": "Example Budget",
   "NewNotification": { 
            "ComparisonOperator": "GREATER_THAN",
            "NotificationType": "ACTUAL",
            "Threshold": 80,
            "ThresholdType": "PERCENTAGE"
         }
    },
   "OldNotification": { 
            "ComparisonOperator": "GREATER_THAN",
            "NotificationType": "ACTUAL",
            "Threshold": 80,
            "ThresholdType": "PERCENTAGE"
         }
    } 
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/UpdateNotification) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/UpdateNotification) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/UpdateNotification) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/UpdateNotification) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/UpdateNotification) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/UpdateNotification) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/UpdateNotification) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/UpdateNotification) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/UpdateNotification) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/UpdateNotification) 

# UpdateSubscriber


Updates a subscriber.

## Request Syntax


```
{
   "AccountId": "string",
   "BudgetName": "string",
   "NewSubscriber": { 
      "Address": "string",
      "SubscriptionType": "string"
   },
   "Notification": { 
      "ComparisonOperator": "string",
      "NotificationState": "string",
      "NotificationType": "string",
      "Threshold": number,
      "ThresholdType": "string"
   },
   "OldSubscriber": { 
      "Address": "string",
      "SubscriptionType": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountId](#API_budgets_UpdateSubscriber_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateSubscriber-request-AccountId"></a>
The `accountId` that is associated with the budget whose subscriber you want to update.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d{12}`   
Required: Yes

 ** [BudgetName](#API_budgets_UpdateSubscriber_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateSubscriber-request-BudgetName"></a>
The name of the budget whose subscriber you want to update.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 100.  
Pattern: `^(?![^:\\]*/action/|(?i).*<script>.*</script>.*)[^:\\]+$`   
Required: Yes

 ** [NewSubscriber](#API_budgets_UpdateSubscriber_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateSubscriber-request-NewSubscriber"></a>
The updated subscriber that is associated with a budget notification.  
Type: [Subscriber](API_budgets_Subscriber.md) object  
Required: Yes

 ** [Notification](#API_budgets_UpdateSubscriber_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateSubscriber-request-Notification"></a>
The notification whose subscriber you want to update.  
Type: [Notification](API_budgets_Notification.md) object  
Required: Yes

 ** [OldSubscriber](#API_budgets_UpdateSubscriber_RequestSyntax) **   <a name="awscostmanagement-budgets_UpdateSubscriber-request-OldSubscriber"></a>
The previous subscriber that is associated with a budget notification.  
Type: [Subscriber](API_budgets_Subscriber.md) object  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** DuplicateRecordException **   
The budget name already exists. Budget names must be unique within an account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** InvalidParameterException **   
An error on the client occurred. Typically, the cause is an invalid input value.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** NotFoundException **   
We can’t locate the resource that you specified.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

 ** ThrottlingException **   
The number of API requests has exceeded the maximum allowed API request throttling limit for the account.    
 ** Message **   
The error message the exception carries.
HTTP Status Code: 400

## Examples


### Example


The following is a sample request of the `UpdateSubscriber` operation.

#### Sample Request


```
POST / 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.UpdateSubscriber
{
   "AccountId": "111122223333",
   "BudgetName": "Example Budget",
   "Notification": { 
            "ComparisonOperator": "GREATER_THAN",
            "NotificationType": "ACTUAL",
            "Threshold": 80,
            "ThresholdType": "PERCENTAGE"
   },
   "OldSubscriber": { 
      "Address": "example@example.com",
      "SubscriptionType": "EMAIL"
   },
   "NewSubscriber": { 
      "Address": "example2@example.com",
      "SubscriptionType": "EMAIL"
   }
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/budgets-2016-10-20/UpdateSubscriber) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/budgets-2016-10-20/UpdateSubscriber) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/budgets-2016-10-20/UpdateSubscriber) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/budgets-2016-10-20/UpdateSubscriber) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/budgets-2016-10-20/UpdateSubscriber) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/budgets-2016-10-20/UpdateSubscriber) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/budgets-2016-10-20/UpdateSubscriber) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/budgets-2016-10-20/UpdateSubscriber) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/budgets-2016-10-20/UpdateSubscriber) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/budgets-2016-10-20/UpdateSubscriber) 

# Amazon Cost Optimization Hub


The following actions are supported by Amazon Cost Optimization Hub:
+  [GetPreferences](API_CostOptimizationHub_GetPreferences.md) 
+  [GetRecommendation](API_CostOptimizationHub_GetRecommendation.md) 
+  [ListEfficiencyMetrics](API_CostOptimizationHub_ListEfficiencyMetrics.md) 
+  [ListEnrollmentStatuses](API_CostOptimizationHub_ListEnrollmentStatuses.md) 
+  [ListRecommendations](API_CostOptimizationHub_ListRecommendations.md) 
+  [ListRecommendationSummaries](API_CostOptimizationHub_ListRecommendationSummaries.md) 
+  [UpdateEnrollmentStatus](API_CostOptimizationHub_UpdateEnrollmentStatus.md) 
+  [UpdatePreferences](API_CostOptimizationHub_UpdatePreferences.md) 

# GetPreferences


Returns a set of preferences for an account in order to add account-specific preferences into the service. These preferences impact how the savings associated with recommendations are presented—estimated savings after discounts or estimated savings before discounts, for example.

## Response Syntax


```
{
   "memberAccountDiscountVisibility": "string",
   "preferredCommitment": { 
      "paymentOption": "string",
      "term": "string"
   },
   "savingsEstimationMode": "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.

 ** [memberAccountDiscountVisibility](#API_CostOptimizationHub_GetPreferences_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetPreferences-response-memberAccountDiscountVisibility"></a>
Retrieves the status of the "member account discount visibility" preference.  
Type: String  
Valid Values: `All | None` 

 ** [preferredCommitment](#API_CostOptimizationHub_GetPreferences_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetPreferences-response-preferredCommitment"></a>
Retrieves the current preferences for how Reserved Instances and Savings Plans cost-saving opportunities are prioritized in terms of payment option and term length.  
Type: [PreferredCommitment](API_CostOptimizationHub_PreferredCommitment.md) object

 ** [savingsEstimationMode](#API_CostOptimizationHub_GetPreferences_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetPreferences-response-savingsEstimationMode"></a>
Retrieves the status of the "savings estimation mode" preference.  
Type: String  
Valid Values: `BeforeDiscounts | AfterDiscounts` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.  
HTTP Status Code: 400

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** fields **   
The list of fields that are invalid.  
 ** reason **   
The reason for the validation exception.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/cost-optimization-hub-2022-07-26/GetPreferences) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/cost-optimization-hub-2022-07-26/GetPreferences) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/cost-optimization-hub-2022-07-26/GetPreferences) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/cost-optimization-hub-2022-07-26/GetPreferences) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/cost-optimization-hub-2022-07-26/GetPreferences) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/cost-optimization-hub-2022-07-26/GetPreferences) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/cost-optimization-hub-2022-07-26/GetPreferences) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/cost-optimization-hub-2022-07-26/GetPreferences) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/cost-optimization-hub-2022-07-26/GetPreferences) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/cost-optimization-hub-2022-07-26/GetPreferences) 

# GetRecommendation


Returns both the current and recommended resource configuration and the estimated cost impact for a recommendation.

The `recommendationId` is only valid for up to a maximum of 24 hours as recommendations are refreshed daily. To retrieve the `recommendationId`, use the `ListRecommendations` API.

## Request Syntax


```
{
   "recommendationId": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [recommendationId](#API_CostOptimizationHub_GetRecommendation_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-request-recommendationId"></a>
The ID for the recommendation.  
Type: String  
Required: Yes

## Response Syntax


```
{
   "accountId": "string",
   "actionType": "string",
   "costCalculationLookbackPeriodInDays": number,
   "currencyCode": "string",
   "currentResourceDetails": { ... },
   "currentResourceType": "string",
   "estimatedMonthlyCost": number,
   "estimatedMonthlySavings": number,
   "estimatedSavingsOverCostCalculationLookbackPeriod": number,
   "estimatedSavingsPercentage": number,
   "implementationEffort": "string",
   "lastRefreshTimestamp": number,
   "recommendationId": "string",
   "recommendationLookbackPeriodInDays": number,
   "recommendedResourceDetails": { ... },
   "recommendedResourceType": "string",
   "region": "string",
   "resourceArn": "string",
   "resourceId": "string",
   "restartNeeded": boolean,
   "rollbackPossible": boolean,
   "source": "string",
   "tags": [ 
      { 
         "key": "string",
         "value": "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.

 ** [accountId](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-accountId"></a>
The account to which the recommendation applies.  
Type: String

 ** [actionType](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-actionType"></a>
The type of action you can take by adopting the recommendation.  
Type: String  
Valid Values: `Rightsize | Stop | Upgrade | PurchaseSavingsPlans | PurchaseReservedInstances | MigrateToGraviton | Delete | ScaleIn` 

 ** [costCalculationLookbackPeriodInDays](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-costCalculationLookbackPeriodInDays"></a>
The lookback period used to calculate cost impact for a recommendation.  
Type: Integer

 ** [currencyCode](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-currencyCode"></a>
The currency code used for the recommendation.  
Type: String

 ** [currentResourceDetails](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-currentResourceDetails"></a>
The details for the resource.  
Type: [ResourceDetails](API_CostOptimizationHub_ResourceDetails.md) object  
 **Note: **This object is a Union. Only one member of this object can be specified or returned.

 ** [currentResourceType](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-currentResourceType"></a>
The type of resource.  
Type: String  
Valid Values: `Ec2Instance | LambdaFunction | EbsVolume | EcsService | Ec2AutoScalingGroup | Ec2InstanceSavingsPlans | ComputeSavingsPlans | SageMakerSavingsPlans | Ec2ReservedInstances | RdsReservedInstances | OpenSearchReservedInstances | RedshiftReservedInstances | ElastiCacheReservedInstances | RdsDbInstanceStorage | RdsDbInstance | AuroraDbClusterStorage | DynamoDbReservedCapacity | MemoryDbReservedInstances` 

 ** [estimatedMonthlyCost](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-estimatedMonthlyCost"></a>
The estimated monthly cost of the current resource. For Reserved Instances and Savings Plans, it refers to the cost for eligible usage.  
Type: Double

 ** [estimatedMonthlySavings](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-estimatedMonthlySavings"></a>
The estimated monthly savings amount for the recommendation.  
Type: Double

 ** [estimatedSavingsOverCostCalculationLookbackPeriod](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-estimatedSavingsOverCostCalculationLookbackPeriod"></a>
The estimated savings amount over the lookback period used to calculate cost impact for a recommendation.  
Type: Double

 ** [estimatedSavingsPercentage](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-estimatedSavingsPercentage"></a>
The estimated savings percentage relative to the total cost over the cost calculation lookback period.  
Type: Double

 ** [implementationEffort](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-implementationEffort"></a>
The effort required to implement the recommendation.  
Type: String  
Valid Values: `VeryLow | Low | Medium | High | VeryHigh` 

 ** [lastRefreshTimestamp](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-lastRefreshTimestamp"></a>
The time when the recommendation was last generated.  
Type: Timestamp

 ** [recommendationId](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-recommendationId"></a>
The ID for the recommendation.  
Type: String

 ** [recommendationLookbackPeriodInDays](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-recommendationLookbackPeriodInDays"></a>
The lookback period that's used to generate the recommendation.  
Type: Integer

 ** [recommendedResourceDetails](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-recommendedResourceDetails"></a>
The details about the recommended resource.  
Type: [ResourceDetails](API_CostOptimizationHub_ResourceDetails.md) object  
 **Note: **This object is a Union. Only one member of this object can be specified or returned.

 ** [recommendedResourceType](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-recommendedResourceType"></a>
The resource type of the recommendation.  
Type: String  
Valid Values: `Ec2Instance | LambdaFunction | EbsVolume | EcsService | Ec2AutoScalingGroup | Ec2InstanceSavingsPlans | ComputeSavingsPlans | SageMakerSavingsPlans | Ec2ReservedInstances | RdsReservedInstances | OpenSearchReservedInstances | RedshiftReservedInstances | ElastiCacheReservedInstances | RdsDbInstanceStorage | RdsDbInstance | AuroraDbClusterStorage | DynamoDbReservedCapacity | MemoryDbReservedInstances` 

 ** [region](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-region"></a>
The Amazon Region of the resource.  
Type: String

 ** [resourceArn](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-resourceArn"></a>
The Amazon Resource Name (ARN) of the resource.  
Type: String

 ** [resourceId](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-resourceId"></a>
The unique identifier for the resource. This is the same as the Amazon Resource Name (ARN), if available.  
Type: String

 ** [restartNeeded](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-restartNeeded"></a>
Whether or not implementing the recommendation requires a restart.  
Type: Boolean

 ** [rollbackPossible](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-rollbackPossible"></a>
Whether or not implementing the recommendation can be rolled back.  
Type: Boolean

 ** [source](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-source"></a>
The source of the recommendation.  
Type: String  
Valid Values: `ComputeOptimizer | CostExplorer` 

 ** [tags](#API_CostOptimizationHub_GetRecommendation_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_GetRecommendation-response-tags"></a>
A list of tags associated with the resource for which the recommendation exists.  
Type: Array of [Tag](API_CostOptimizationHub_Tag.md) objects  
Array Members: Minimum number of 1 item. Maximum number of 100 items.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.  
HTTP Status Code: 400

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified Amazon Resource Name (ARN) in the request doesn't exist.    
 ** resourceId **   
The identifier of the resource that was not found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** fields **   
The list of fields that are invalid.  
 ** reason **   
The reason for the validation exception.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/cost-optimization-hub-2022-07-26/GetRecommendation) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/cost-optimization-hub-2022-07-26/GetRecommendation) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/cost-optimization-hub-2022-07-26/GetRecommendation) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/cost-optimization-hub-2022-07-26/GetRecommendation) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/cost-optimization-hub-2022-07-26/GetRecommendation) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/cost-optimization-hub-2022-07-26/GetRecommendation) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/cost-optimization-hub-2022-07-26/GetRecommendation) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/cost-optimization-hub-2022-07-26/GetRecommendation) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/cost-optimization-hub-2022-07-26/GetRecommendation) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/cost-optimization-hub-2022-07-26/GetRecommendation) 

# ListEfficiencyMetrics


Returns cost efficiency metrics aggregated over time and optionally grouped by a specified dimension. The metrics provide insights into your cost optimization progress by tracking estimated savings, spending, and measures how effectively you're optimizing your Cloud resources.

The operation supports both daily and monthly time granularities and allows grouping results by account ID, Amazon Region. Results are returned as time-series data, enabling you to analyze trends in your cost optimization performance over the specified time period.

## Request Syntax


```
{
   "granularity": "string",
   "groupBy": "string",
   "maxResults": number,
   "nextToken": "string",
   "orderBy": { 
      "dimension": "string",
      "order": "string"
   },
   "timePeriod": { 
      "end": "string",
      "start": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [granularity](#API_CostOptimizationHub_ListEfficiencyMetrics_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListEfficiencyMetrics-request-granularity"></a>
The time granularity for the cost efficiency metrics. Specify `Daily` for metrics aggregated by day, or `Monthly` for metrics aggregated by month.  
Type: String  
Valid Values: `Daily | Monthly`   
Required: Yes

 ** [groupBy](#API_CostOptimizationHub_ListEfficiencyMetrics_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListEfficiencyMetrics-request-groupBy"></a>
The dimension by which to group the cost efficiency metrics. Valid values include account ID, Amazon Region. When no grouping is specified, metrics are aggregated across all resources in the specified time period.  
Type: String  
Required: No

 ** [maxResults](#API_CostOptimizationHub_ListEfficiencyMetrics_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListEfficiencyMetrics-request-maxResults"></a>
The maximum number of groups to return in the response. Valid values range from 0 to 1000. Use in conjunction with `nextToken` to paginate through results when the total number of groups exceeds this limit.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 100.  
Required: No

 ** [nextToken](#API_CostOptimizationHub_ListEfficiencyMetrics_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListEfficiencyMetrics-request-nextToken"></a>
The token to retrieve the next page of results. This value is returned in the response when the number of groups exceeds the specified `maxResults` value.  
Type: String  
Required: No

 ** [orderBy](#API_CostOptimizationHub_ListEfficiencyMetrics_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListEfficiencyMetrics-request-orderBy"></a>
The ordering specification for the results. Defines which dimension to sort by and whether to sort in ascending or descending order.  
Type: [OrderBy](API_CostOptimizationHub_OrderBy.md) object  
Required: No

 ** [timePeriod](#API_CostOptimizationHub_ListEfficiencyMetrics_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListEfficiencyMetrics-request-timePeriod"></a>
The time period for which to retrieve the cost efficiency metrics. The start date is inclusive and the end date is exclusive. Dates can be specified in either YYYY-MM-DD format or YYYY-MM format depending on the desired granularity.  
Type: [TimePeriod](API_CostOptimizationHub_TimePeriod.md) object  
Required: Yes

## Response Syntax


```
{
   "efficiencyMetricsByGroup": [ 
      { 
         "group": "string",
         "message": "string",
         "metricsByTime": [ 
            { 
               "savings": number,
               "score": number,
               "spend": number,
               "timestamp": "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.

 ** [efficiencyMetricsByGroup](#API_CostOptimizationHub_ListEfficiencyMetrics_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListEfficiencyMetrics-response-efficiencyMetricsByGroup"></a>
A list of cost efficiency metrics grouped by the specified dimension. Each group contains time-series data points with cost efficiency, potential savings, and optimzable spend for the specified time period.  
Type: Array of [EfficiencyMetricsByGroup](API_CostOptimizationHub_EfficiencyMetricsByGroup.md) objects

 ** [nextToken](#API_CostOptimizationHub_ListEfficiencyMetrics_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListEfficiencyMetrics-response-nextToken"></a>
The token to retrieve the next page of results. When this value is present in the response, additional groups are available. Pass this token in the `nextToken` parameter of a subsequent request to retrieve the next page.  
Type: String

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.  
HTTP Status Code: 400

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** fields **   
The list of fields that are invalid.  
 ** reason **   
The reason for the validation exception.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/cost-optimization-hub-2022-07-26/ListEfficiencyMetrics) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/cost-optimization-hub-2022-07-26/ListEfficiencyMetrics) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/cost-optimization-hub-2022-07-26/ListEfficiencyMetrics) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/cost-optimization-hub-2022-07-26/ListEfficiencyMetrics) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/cost-optimization-hub-2022-07-26/ListEfficiencyMetrics) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/cost-optimization-hub-2022-07-26/ListEfficiencyMetrics) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/cost-optimization-hub-2022-07-26/ListEfficiencyMetrics) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/cost-optimization-hub-2022-07-26/ListEfficiencyMetrics) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/cost-optimization-hub-2022-07-26/ListEfficiencyMetrics) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/cost-optimization-hub-2022-07-26/ListEfficiencyMetrics) 

# ListEnrollmentStatuses


Retrieves the enrollment status for an account. It can also return the list of accounts that are enrolled under the organization.

## Request Syntax


```
{
   "accountId": "string",
   "includeOrganizationInfo": boolean,
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [accountId](#API_CostOptimizationHub_ListEnrollmentStatuses_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListEnrollmentStatuses-request-accountId"></a>
The account ID of a member account in the organization.  
Type: String  
Pattern: `[0-9]{12}`   
Required: No

 ** [includeOrganizationInfo](#API_CostOptimizationHub_ListEnrollmentStatuses_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListEnrollmentStatuses-request-includeOrganizationInfo"></a>
Indicates whether to return the enrollment status for the organization.  
Type: Boolean  
Required: No

 ** [maxResults](#API_CostOptimizationHub_ListEnrollmentStatuses_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListEnrollmentStatuses-request-maxResults"></a>
The maximum number of objects that are returned for the request.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 100.  
Required: No

 ** [nextToken](#API_CostOptimizationHub_ListEnrollmentStatuses_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListEnrollmentStatuses-request-nextToken"></a>
The token to retrieve the next set of results.  
Type: String  
Required: No

## Response Syntax


```
{
   "includeMemberAccounts": boolean,
   "items": [ 
      { 
         "accountId": "string",
         "createdTimestamp": number,
         "lastUpdatedTimestamp": number,
         "status": "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.

 ** [includeMemberAccounts](#API_CostOptimizationHub_ListEnrollmentStatuses_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListEnrollmentStatuses-response-includeMemberAccounts"></a>
The enrollment status of all member accounts in the organization if the account is the management account or delegated administrator.  
Type: Boolean

 ** [items](#API_CostOptimizationHub_ListEnrollmentStatuses_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListEnrollmentStatuses-response-items"></a>
The enrollment status of a specific account ID, including creation and last updated timestamps.  
Type: Array of [AccountEnrollmentStatus](API_CostOptimizationHub_AccountEnrollmentStatus.md) objects

 ** [nextToken](#API_CostOptimizationHub_ListEnrollmentStatuses_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListEnrollmentStatuses-response-nextToken"></a>
The token to retrieve the next set of results.  
Type: String

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.  
HTTP Status Code: 400

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** fields **   
The list of fields that are invalid.  
 ** reason **   
The reason for the validation exception.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/cost-optimization-hub-2022-07-26/ListEnrollmentStatuses) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/cost-optimization-hub-2022-07-26/ListEnrollmentStatuses) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/cost-optimization-hub-2022-07-26/ListEnrollmentStatuses) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/cost-optimization-hub-2022-07-26/ListEnrollmentStatuses) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/cost-optimization-hub-2022-07-26/ListEnrollmentStatuses) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/cost-optimization-hub-2022-07-26/ListEnrollmentStatuses) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/cost-optimization-hub-2022-07-26/ListEnrollmentStatuses) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/cost-optimization-hub-2022-07-26/ListEnrollmentStatuses) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/cost-optimization-hub-2022-07-26/ListEnrollmentStatuses) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/cost-optimization-hub-2022-07-26/ListEnrollmentStatuses) 

# ListRecommendations


Returns a list of recommendations.

## Request Syntax


```
{
   "filter": { 
      "accountIds": [ "string" ],
      "actionTypes": [ "string" ],
      "implementationEfforts": [ "string" ],
      "recommendationIds": [ "string" ],
      "regions": [ "string" ],
      "resourceArns": [ "string" ],
      "resourceIds": [ "string" ],
      "resourceTypes": [ "string" ],
      "restartNeeded": boolean,
      "rollbackPossible": boolean,
      "tags": [ 
         { 
            "key": "string",
            "value": "string"
         }
      ]
   },
   "includeAllRecommendations": boolean,
   "maxResults": number,
   "nextToken": "string",
   "orderBy": { 
      "dimension": "string",
      "order": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [filter](#API_CostOptimizationHub_ListRecommendations_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendations-request-filter"></a>
The constraints that you want all returned recommendations to match.  
Type: [Filter](API_CostOptimizationHub_Filter.md) object  
Required: No

 ** [includeAllRecommendations](#API_CostOptimizationHub_ListRecommendations_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendations-request-includeAllRecommendations"></a>
List of all recommendations for a resource, or a single recommendation if de-duped by `resourceId`.  
Type: Boolean  
Required: No

 ** [maxResults](#API_CostOptimizationHub_ListRecommendations_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendations-request-maxResults"></a>
The maximum number of recommendations that are returned for the request.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 1000.  
Required: No

 ** [nextToken](#API_CostOptimizationHub_ListRecommendations_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendations-request-nextToken"></a>
The token to retrieve the next set of results.  
Type: String  
Required: No

 ** [orderBy](#API_CostOptimizationHub_ListRecommendations_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendations-request-orderBy"></a>
The ordering of recommendations by a dimension.  
Type: [OrderBy](API_CostOptimizationHub_OrderBy.md) object  
Required: No

## Response Syntax


```
{
   "items": [ 
      { 
         "accountId": "string",
         "actionType": "string",
         "currencyCode": "string",
         "currentResourceSummary": "string",
         "currentResourceType": "string",
         "estimatedMonthlyCost": number,
         "estimatedMonthlySavings": number,
         "estimatedSavingsPercentage": number,
         "implementationEffort": "string",
         "lastRefreshTimestamp": number,
         "recommendationId": "string",
         "recommendationLookbackPeriodInDays": number,
         "recommendedResourceSummary": "string",
         "recommendedResourceType": "string",
         "region": "string",
         "resourceArn": "string",
         "resourceId": "string",
         "restartNeeded": boolean,
         "rollbackPossible": boolean,
         "source": "string",
         "tags": [ 
            { 
               "key": "string",
               "value": "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.

 ** [items](#API_CostOptimizationHub_ListRecommendations_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendations-response-items"></a>
List of all savings recommendations.  
Type: Array of [Recommendation](API_CostOptimizationHub_Recommendation.md) objects

 ** [nextToken](#API_CostOptimizationHub_ListRecommendations_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendations-response-nextToken"></a>
The token to retrieve the next set of results.  
Type: String

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.  
HTTP Status Code: 400

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** fields **   
The list of fields that are invalid.  
 ** reason **   
The reason for the validation exception.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/cost-optimization-hub-2022-07-26/ListRecommendations) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/cost-optimization-hub-2022-07-26/ListRecommendations) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/cost-optimization-hub-2022-07-26/ListRecommendations) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/cost-optimization-hub-2022-07-26/ListRecommendations) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/cost-optimization-hub-2022-07-26/ListRecommendations) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/cost-optimization-hub-2022-07-26/ListRecommendations) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/cost-optimization-hub-2022-07-26/ListRecommendations) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/cost-optimization-hub-2022-07-26/ListRecommendations) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/cost-optimization-hub-2022-07-26/ListRecommendations) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/cost-optimization-hub-2022-07-26/ListRecommendations) 

# ListRecommendationSummaries


Returns a concise representation of savings estimates for resources. Also returns de-duped savings across different types of recommendations.

**Note**  
The following filters are not supported for this API: `recommendationIds`, `resourceArns`, and `resourceIds`.

## Request Syntax


```
{
   "filter": { 
      "accountIds": [ "string" ],
      "actionTypes": [ "string" ],
      "implementationEfforts": [ "string" ],
      "recommendationIds": [ "string" ],
      "regions": [ "string" ],
      "resourceArns": [ "string" ],
      "resourceIds": [ "string" ],
      "resourceTypes": [ "string" ],
      "restartNeeded": boolean,
      "rollbackPossible": boolean,
      "tags": [ 
         { 
            "key": "string",
            "value": "string"
         }
      ]
   },
   "groupBy": "string",
   "maxResults": number,
   "metrics": [ "string" ],
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [filter](#API_CostOptimizationHub_ListRecommendationSummaries_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendationSummaries-request-filter"></a>
Describes a filter that returns a more specific list of recommendations. Filters recommendations by different dimensions.  
Type: [Filter](API_CostOptimizationHub_Filter.md) object  
Required: No

 ** [groupBy](#API_CostOptimizationHub_ListRecommendationSummaries_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendationSummaries-request-groupBy"></a>
The grouping of recommendations by a dimension.  
Type: String  
Required: Yes

 ** [maxResults](#API_CostOptimizationHub_ListRecommendationSummaries_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendationSummaries-request-maxResults"></a>
The maximum number of recommendations to be returned for the request.  
Type: Integer  
Valid Range: Minimum value of 0. Maximum value of 1000.  
Required: No

 ** [metrics](#API_CostOptimizationHub_ListRecommendationSummaries_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendationSummaries-request-metrics"></a>
Additional metrics to be returned for the request. The only valid value is `savingsPercentage`.  
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 100 items.  
Valid Values: `SavingsPercentage`   
Required: No

 ** [nextToken](#API_CostOptimizationHub_ListRecommendationSummaries_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendationSummaries-request-nextToken"></a>
The token to retrieve the next set of results.  
Type: String  
Required: No

## Response Syntax


```
{
   "currencyCode": "string",
   "estimatedTotalDedupedSavings": number,
   "groupBy": "string",
   "items": [ 
      { 
         "estimatedMonthlySavings": number,
         "group": "string",
         "recommendationCount": number
      }
   ],
   "metrics": { 
      "savingsPercentage": "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.

 ** [currencyCode](#API_CostOptimizationHub_ListRecommendationSummaries_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendationSummaries-response-currencyCode"></a>
The currency code used for the recommendation.  
Type: String

 ** [estimatedTotalDedupedSavings](#API_CostOptimizationHub_ListRecommendationSummaries_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendationSummaries-response-estimatedTotalDedupedSavings"></a>
The total overall savings for the aggregated view.  
Type: Double

 ** [groupBy](#API_CostOptimizationHub_ListRecommendationSummaries_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendationSummaries-response-groupBy"></a>
The dimension used to group the recommendations by.  
Type: String

 ** [items](#API_CostOptimizationHub_ListRecommendationSummaries_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendationSummaries-response-items"></a>
A list of all savings recommendations.  
Type: Array of [RecommendationSummary](API_CostOptimizationHub_RecommendationSummary.md) objects

 ** [metrics](#API_CostOptimizationHub_ListRecommendationSummaries_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendationSummaries-response-metrics"></a>
The results or descriptions for the additional metrics, based on whether the metrics were or were not requested.  
Type: [SummaryMetricsResult](API_CostOptimizationHub_SummaryMetricsResult.md) object

 ** [nextToken](#API_CostOptimizationHub_ListRecommendationSummaries_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_ListRecommendationSummaries-response-nextToken"></a>
The token to retrieve the next set of results.  
Type: String

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.  
HTTP Status Code: 400

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** fields **   
The list of fields that are invalid.  
 ** reason **   
The reason for the validation exception.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/cost-optimization-hub-2022-07-26/ListRecommendationSummaries) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/cost-optimization-hub-2022-07-26/ListRecommendationSummaries) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/cost-optimization-hub-2022-07-26/ListRecommendationSummaries) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/cost-optimization-hub-2022-07-26/ListRecommendationSummaries) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/cost-optimization-hub-2022-07-26/ListRecommendationSummaries) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/cost-optimization-hub-2022-07-26/ListRecommendationSummaries) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/cost-optimization-hub-2022-07-26/ListRecommendationSummaries) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/cost-optimization-hub-2022-07-26/ListRecommendationSummaries) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/cost-optimization-hub-2022-07-26/ListRecommendationSummaries) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/cost-optimization-hub-2022-07-26/ListRecommendationSummaries) 

# UpdateEnrollmentStatus


Updates the enrollment (opt in and opt out) status of an account to the Cost Optimization Hub service.

If the account is a management account of an organization, this action can also be used to enroll member accounts of the organization.

You must have the appropriate permissions to opt in to Cost Optimization Hub and to view its recommendations. When you opt in, Cost Optimization Hub automatically creates a service-linked role in your account to access its data.

## Request Syntax


```
{
   "includeMemberAccounts": boolean,
   "status": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [includeMemberAccounts](#API_CostOptimizationHub_UpdateEnrollmentStatus_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_UpdateEnrollmentStatus-request-includeMemberAccounts"></a>
Indicates whether to enroll member accounts of the organization if the account is the management account or delegated administrator.  
Type: Boolean  
Required: No

 ** [status](#API_CostOptimizationHub_UpdateEnrollmentStatus_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_UpdateEnrollmentStatus-request-status"></a>
Sets the account status.  
Type: String  
Valid Values: `Active | Inactive`   
Required: Yes

## Response Syntax


```
{
   "status": "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.

 ** [status](#API_CostOptimizationHub_UpdateEnrollmentStatus_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_UpdateEnrollmentStatus-response-status"></a>
The enrollment status of the account.  
Type: String

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.  
HTTP Status Code: 400

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** fields **   
The list of fields that are invalid.  
 ** reason **   
The reason for the validation exception.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/cost-optimization-hub-2022-07-26/UpdateEnrollmentStatus) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/cost-optimization-hub-2022-07-26/UpdateEnrollmentStatus) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/cost-optimization-hub-2022-07-26/UpdateEnrollmentStatus) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/cost-optimization-hub-2022-07-26/UpdateEnrollmentStatus) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/cost-optimization-hub-2022-07-26/UpdateEnrollmentStatus) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/cost-optimization-hub-2022-07-26/UpdateEnrollmentStatus) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/cost-optimization-hub-2022-07-26/UpdateEnrollmentStatus) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/cost-optimization-hub-2022-07-26/UpdateEnrollmentStatus) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/cost-optimization-hub-2022-07-26/UpdateEnrollmentStatus) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/cost-optimization-hub-2022-07-26/UpdateEnrollmentStatus) 

# UpdatePreferences


Updates a set of preferences for an account in order to add account-specific preferences into the service. These preferences impact how the savings associated with recommendations are presented.

## Request Syntax


```
{
   "memberAccountDiscountVisibility": "string",
   "preferredCommitment": { 
      "paymentOption": "string",
      "term": "string"
   },
   "savingsEstimationMode": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [memberAccountDiscountVisibility](#API_CostOptimizationHub_UpdatePreferences_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_UpdatePreferences-request-memberAccountDiscountVisibility"></a>
Sets the "member account discount visibility" preference.  
Type: String  
Valid Values: `All | None`   
Required: No

 ** [preferredCommitment](#API_CostOptimizationHub_UpdatePreferences_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_UpdatePreferences-request-preferredCommitment"></a>
Sets the preferences for how Reserved Instances and Savings Plans cost-saving opportunities are prioritized in terms of payment option and term length.  
Type: [PreferredCommitment](API_CostOptimizationHub_PreferredCommitment.md) object  
Required: No

 ** [savingsEstimationMode](#API_CostOptimizationHub_UpdatePreferences_RequestSyntax) **   <a name="awscostmanagement-CostOptimizationHub_UpdatePreferences-request-savingsEstimationMode"></a>
Sets the "savings estimation mode" preference.  
Type: String  
Valid Values: `BeforeDiscounts | AfterDiscounts`   
Required: No

## Response Syntax


```
{
   "memberAccountDiscountVisibility": "string",
   "preferredCommitment": { 
      "paymentOption": "string",
      "term": "string"
   },
   "savingsEstimationMode": "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.

 ** [memberAccountDiscountVisibility](#API_CostOptimizationHub_UpdatePreferences_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_UpdatePreferences-response-memberAccountDiscountVisibility"></a>
Shows the status of the "member account discount visibility" preference.  
Type: String  
Valid Values: `All | None` 

 ** [preferredCommitment](#API_CostOptimizationHub_UpdatePreferences_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_UpdatePreferences-response-preferredCommitment"></a>
Shows the updated preferences for how Reserved Instances and Savings Plans cost-saving opportunities are prioritized in terms of payment option and term length.  
Type: [PreferredCommitment](API_CostOptimizationHub_PreferredCommitment.md) object

 ** [savingsEstimationMode](#API_CostOptimizationHub_UpdatePreferences_ResponseSyntax) **   <a name="awscostmanagement-CostOptimizationHub_UpdatePreferences-response-savingsEstimationMode"></a>
Shows the status of the "savings estimation mode" preference.  
Type: String  
Valid Values: `BeforeDiscounts | AfterDiscounts` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You are not authorized to use this operation with the given parameters.  
HTTP Status Code: 400

 ** InternalServerException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** fields **   
The list of fields that are invalid.  
 ** reason **   
The reason for the validation exception.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/cost-optimization-hub-2022-07-26/UpdatePreferences) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/cost-optimization-hub-2022-07-26/UpdatePreferences) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/cost-optimization-hub-2022-07-26/UpdatePreferences) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/cost-optimization-hub-2022-07-26/UpdatePreferences) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/cost-optimization-hub-2022-07-26/UpdatePreferences) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/cost-optimization-hub-2022-07-26/UpdatePreferences) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/cost-optimization-hub-2022-07-26/UpdatePreferences) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/cost-optimization-hub-2022-07-26/UpdatePreferences) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/cost-optimization-hub-2022-07-26/UpdatePreferences) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/cost-optimization-hub-2022-07-26/UpdatePreferences) 

# Amazon Cost and Usage Report


The following actions are supported by Amazon Cost and Usage Report:
+  [DeleteReportDefinition](API_cur_DeleteReportDefinition.md) 
+  [DescribeReportDefinitions](API_cur_DescribeReportDefinitions.md) 
+  [ListTagsForResource](API_cur_ListTagsForResource.md) 
+  [ModifyReportDefinition](API_cur_ModifyReportDefinition.md) 
+  [PutReportDefinition](API_cur_PutReportDefinition.md) 
+  [TagResource](API_cur_TagResource.md) 
+  [UntagResource](API_cur_UntagResource.md) 

# DeleteReportDefinition


Deletes the specified report. Any tags associated with the report are also deleted.

## Request Syntax


```
{
   "ReportName": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ReportName](#API_cur_DeleteReportDefinition_RequestSyntax) **   <a name="awscostmanagement-cur_DeleteReportDefinition-request-ReportName"></a>
The name of the report that you want to delete. The name must be unique, is case sensitive, and can't include spaces.  
Type: String  
Length Constraints: Maximum length of 256.  
Pattern: `[0-9A-Za-z!\-_.*\'()]+`   
Required: Yes

## Response Syntax


```
{
   "ResponseMessage": "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.

 ** [ResponseMessage](#API_cur_DeleteReportDefinition_ResponseSyntax) **   <a name="awscostmanagement-cur_DeleteReportDefinition-response-ResponseMessage"></a>
Whether the deletion was successful or not.  
Type: String

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 500

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the DeleteReportDefinition operation.


This example illustrates one usage of DeleteReportDefinition.

#### Sample Request


```
POST / HTTP/1.1
Host: api.cur.<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: AWSOrigamiServiceGateway.DeleteReportDefinition
{
        "ReportName": "ExampleReport"
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/cur-2017-01-06/DeleteReportDefinition) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/cur-2017-01-06/DeleteReportDefinition) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/cur-2017-01-06/DeleteReportDefinition) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/cur-2017-01-06/DeleteReportDefinition) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/cur-2017-01-06/DeleteReportDefinition) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/cur-2017-01-06/DeleteReportDefinition) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/cur-2017-01-06/DeleteReportDefinition) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/cur-2017-01-06/DeleteReportDefinition) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/cur-2017-01-06/DeleteReportDefinition) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/cur-2017-01-06/DeleteReportDefinition) 

# DescribeReportDefinitions


Lists the Amazon Cost and Usage Report available to this account.

## Request Syntax


```
{
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_cur_DescribeReportDefinitions_RequestSyntax) **   <a name="awscostmanagement-cur_DescribeReportDefinitions-request-MaxResults"></a>
The maximum number of results that Amazon returns for the operation.  
Type: Integer  
Valid Range: Fixed value of 5.  
Required: No

 ** [NextToken](#API_cur_DescribeReportDefinitions_RequestSyntax) **   <a name="awscostmanagement-cur_DescribeReportDefinitions-request-NextToken"></a>
A generic string.  
Type: String  
Length Constraints: Maximum length of 256.  
Pattern: `[A-Za-z0-9_\.\-=]*`   
Required: No

## Response Syntax


```
{
   "NextToken": "string",
   "ReportDefinitions": [ 
      { 
         "AdditionalArtifacts": [ "string" ],
         "AdditionalSchemaElements": [ "string" ],
         "BillingViewArn": "string",
         "Compression": "string",
         "Format": "string",
         "RefreshClosedReports": boolean,
         "ReportName": "string",
         "ReportStatus": { 
            "lastDelivery": "string",
            "lastStatus": "string"
         },
         "ReportVersioning": "string",
         "S3Bucket": "string",
         "S3Prefix": "string",
         "S3Region": "string",
         "TimeUnit": "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.

 ** [NextToken](#API_cur_DescribeReportDefinitions_ResponseSyntax) **   <a name="awscostmanagement-cur_DescribeReportDefinitions-response-NextToken"></a>
A generic string.  
Type: String  
Length Constraints: Maximum length of 256.  
Pattern: `[A-Za-z0-9_\.\-=]*` 

 ** [ReportDefinitions](#API_cur_DescribeReportDefinitions_ResponseSyntax) **   <a name="awscostmanagement-cur_DescribeReportDefinitions-response-ReportDefinitions"></a>
An Amazon Cost and Usage Report list owned by the account.  
Type: Array of [ReportDefinition](API_cur_ReportDefinition.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 500

## Examples


### The following is a sample request and response of the DescribeReportDefinitions operation.


This example illustrates one usage of DescribeReportDefinitions.

#### Sample Request


```
POST / HTTP/1.1
Host: api.cur.<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: AWSOrigamiServiceGateway.DescribeReportDefinitions
{
        "MaxResults": 5
}
```

#### Sample Response


```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
        "ReportDefinitions": [
        {
            "AdditionalArtifacts": ["QUICKSIGHT"],
            "AdditionalSchemaElements": ["RESOURCES"],
            "Compression": "GZIP",
            "Format": "textORcsv",
            "ReportName": "ExampleReport",
            "S3Bucket": "example-s3-bucket",
            "S3Prefix": "exampleprefix",
            "S3Region": "us-east-1",
            "TimeUnit": "HOURLY"
        },
        {
            "AdditionalArtifacts": ["QUICKSIGHT"],
            "AdditionalSchemaElements": ["RESOURCES"],
            "Compression": "GZIP",
            "Format": "textORcsv",
            "ReportName": "ExampleReport2",
            "S3Bucket": "example-s3-bucket",
            "S3Prefix": "exampleprefix",
            "S3Region": "us-east-1",
            "TimeUnit": "HOURLY"
            "ReportStatus": {
                "lastDelivery": "20191102T054923Z",
                "lastStatus": "SUCCESS"
        } 
      }
    ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/cur-2017-01-06/DescribeReportDefinitions) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/cur-2017-01-06/DescribeReportDefinitions) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/cur-2017-01-06/DescribeReportDefinitions) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/cur-2017-01-06/DescribeReportDefinitions) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/cur-2017-01-06/DescribeReportDefinitions) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/cur-2017-01-06/DescribeReportDefinitions) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/cur-2017-01-06/DescribeReportDefinitions) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/cur-2017-01-06/DescribeReportDefinitions) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/cur-2017-01-06/DescribeReportDefinitions) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/cur-2017-01-06/DescribeReportDefinitions) 

# ListTagsForResource


Lists the tags associated with the specified report definition.

## Request Syntax


```
{
   "ReportName": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ReportName](#API_cur_ListTagsForResource_RequestSyntax) **   <a name="awscostmanagement-cur_ListTagsForResource-request-ReportName"></a>
The report name of the report definition that tags are to be returned for.  
Type: String  
Length Constraints: Maximum length of 256.  
Pattern: `[0-9A-Za-z!\-_.*\'()]+`   
Required: Yes

## Response Syntax


```
{
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "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.

 ** [Tags](#API_cur_ListTagsForResource_ResponseSyntax) **   <a name="awscostmanagement-cur_ListTagsForResource-response-Tags"></a>
The tags assigned to the report definition resource.  
Type: Array of [Tag](API_cur_Tag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified report (`ReportName`) in the request doesn't exist.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the ListTagsForResource operation.


This example illustrates one usage of ListTagsForResource.

#### Sample Request


```
POST / HTTP/1.1
Host: api.cur.<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: AWSOrigamiServiceGateway.ListTagsForResource
{
  "ReportName": "ExampleReport",
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/cur-2017-01-06/ListTagsForResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/cur-2017-01-06/ListTagsForResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/cur-2017-01-06/ListTagsForResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/cur-2017-01-06/ListTagsForResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/cur-2017-01-06/ListTagsForResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/cur-2017-01-06/ListTagsForResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/cur-2017-01-06/ListTagsForResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/cur-2017-01-06/ListTagsForResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/cur-2017-01-06/ListTagsForResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/cur-2017-01-06/ListTagsForResource) 

# ModifyReportDefinition


Allows you to programmatically update your report preferences.

## Request Syntax


```
{
   "ReportDefinition": { 
      "AdditionalArtifacts": [ "string" ],
      "AdditionalSchemaElements": [ "string" ],
      "BillingViewArn": "string",
      "Compression": "string",
      "Format": "string",
      "RefreshClosedReports": boolean,
      "ReportName": "string",
      "ReportStatus": { 
         "lastDelivery": "string",
         "lastStatus": "string"
      },
      "ReportVersioning": "string",
      "S3Bucket": "string",
      "S3Prefix": "string",
      "S3Region": "string",
      "TimeUnit": "string"
   },
   "ReportName": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ReportDefinition](#API_cur_ModifyReportDefinition_RequestSyntax) **   <a name="awscostmanagement-cur_ModifyReportDefinition-request-ReportDefinition"></a>
The definition of Amazon Cost and Usage Report. You can specify the report name, time unit, report format, compression format, S3 bucket, additional artifacts, and schema elements in the definition.   
Type: [ReportDefinition](API_cur_ReportDefinition.md) object  
Required: Yes

 ** [ReportName](#API_cur_ModifyReportDefinition_RequestSyntax) **   <a name="awscostmanagement-cur_ModifyReportDefinition-request-ReportName"></a>
The name of the report that you want to create. The name must be unique, is case sensitive, and can't include spaces.   
Type: String  
Length Constraints: Maximum length of 256.  
Pattern: `[0-9A-Za-z!\-_.*\'()]+`   
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 500

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/cur-2017-01-06/ModifyReportDefinition) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/cur-2017-01-06/ModifyReportDefinition) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/cur-2017-01-06/ModifyReportDefinition) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/cur-2017-01-06/ModifyReportDefinition) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/cur-2017-01-06/ModifyReportDefinition) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/cur-2017-01-06/ModifyReportDefinition) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/cur-2017-01-06/ModifyReportDefinition) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/cur-2017-01-06/ModifyReportDefinition) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/cur-2017-01-06/ModifyReportDefinition) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/cur-2017-01-06/ModifyReportDefinition) 

# PutReportDefinition


Creates a new report using the description that you provide.

## Request Syntax


```
{
   "ReportDefinition": { 
      "AdditionalArtifacts": [ "string" ],
      "AdditionalSchemaElements": [ "string" ],
      "BillingViewArn": "string",
      "Compression": "string",
      "Format": "string",
      "RefreshClosedReports": boolean,
      "ReportName": "string",
      "ReportStatus": { 
         "lastDelivery": "string",
         "lastStatus": "string"
      },
      "ReportVersioning": "string",
      "S3Bucket": "string",
      "S3Prefix": "string",
      "S3Region": "string",
      "TimeUnit": "string"
   },
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ReportDefinition](#API_cur_PutReportDefinition_RequestSyntax) **   <a name="awscostmanagement-cur_PutReportDefinition-request-ReportDefinition"></a>
Represents the output of the PutReportDefinition operation. The content consists of the detailed metadata and data file information.   
Type: [ReportDefinition](API_cur_ReportDefinition.md) object  
Required: Yes

 ** [Tags](#API_cur_PutReportDefinition_RequestSyntax) **   <a name="awscostmanagement-cur_PutReportDefinition-request-Tags"></a>
The tags to be assigned to the report definition resource.  
Type: Array of [Tag](API_cur_Tag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: No

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** DuplicateReportNameException **   
A report with the specified name already exists in the account. Specify a different report name.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 500

 ** ReportLimitReachedException **   
This account already has five reports defined. To define a new report, you must delete an existing report.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The specified report (`ReportName`) in the request doesn't exist.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the PutReportDefinition operation.


This example illustrates one usage of PutReportDefinition.

#### Sample Request


```
POST / HTTP/1.1
Host: api.cur.<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: AWSOrigamiServiceGateway.PutReportDefinition
{
        "ReportDefinition": {
            "ReportName": "ExampleReport",
            "TimeUnit": "DAILY",
            "Format": "textORcsv",
            "Compression": "ZIP",
            "AdditionalSchemaElements": [
                "RESOURCES"
            ],
            "S3Bucket": "example-s3-bucket",
            "S3Prefix": "exampleprefix",
            "S3Region": "us-east-1",
            "AdditionalArtifacts": [
                "REDSHIFT",
                "QUICKSIGHT"
             },
        "Tags": [
          {
            "Key": "key-1",
            "Value": "value-1"
          }
        ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/cur-2017-01-06/PutReportDefinition) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/cur-2017-01-06/PutReportDefinition) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/cur-2017-01-06/PutReportDefinition) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/cur-2017-01-06/PutReportDefinition) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/cur-2017-01-06/PutReportDefinition) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/cur-2017-01-06/PutReportDefinition) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/cur-2017-01-06/PutReportDefinition) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/cur-2017-01-06/PutReportDefinition) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/cur-2017-01-06/PutReportDefinition) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/cur-2017-01-06/PutReportDefinition) 

# TagResource


Associates a set of tags with a report definition.

## Request Syntax


```
{
   "ReportName": "string",
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ReportName](#API_cur_TagResource_RequestSyntax) **   <a name="awscostmanagement-cur_TagResource-request-ReportName"></a>
The report name of the report definition that tags are to be associated with.  
Type: String  
Length Constraints: Maximum length of 256.  
Pattern: `[0-9A-Za-z!\-_.*\'()]+`   
Required: Yes

 ** [Tags](#API_cur_TagResource_RequestSyntax) **   <a name="awscostmanagement-cur_TagResource-request-Tags"></a>
The tags to be assigned to the report definition resource.  
Type: Array of [Tag](API_cur_Tag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified report (`ReportName`) in the request doesn't exist.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the TagResource operation.


This example illustrates one usage of TagResource.

#### Sample Request


```
POST / HTTP/1.1
Host: api.cur.<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: AWSOrigamiServiceGateway.TagResource
{
  "ReportName": "ExampleReport",
  "Tags": [
    {
      "Key": "key-1",
      "Value": "value-1"
    }
  ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/cur-2017-01-06/TagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/cur-2017-01-06/TagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/cur-2017-01-06/TagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/cur-2017-01-06/TagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/cur-2017-01-06/TagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/cur-2017-01-06/TagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/cur-2017-01-06/TagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/cur-2017-01-06/TagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/cur-2017-01-06/TagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/cur-2017-01-06/TagResource) 

# UntagResource


Disassociates a set of tags from a report definition.

## Request Syntax


```
{
   "ReportName": "string",
   "TagKeys": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ReportName](#API_cur_UntagResource_RequestSyntax) **   <a name="awscostmanagement-cur_UntagResource-request-ReportName"></a>
The report name of the report definition that tags are to be disassociated from.  
Type: String  
Length Constraints: Maximum length of 256.  
Pattern: `[0-9A-Za-z!\-_.*\'()]+`   
Required: Yes

 ** [TagKeys](#API_cur_UntagResource_RequestSyntax) **   <a name="awscostmanagement-cur_UntagResource-request-TagKeys"></a>
The tags to be disassociated from the report definition resource.  
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `.*`   
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The specified report (`ReportName`) in the request doesn't exist.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon service.    
 ** Message **   
A message to show the detail of the exception.
HTTP Status Code: 400

## Examples


### The following is a sample request of the UntagResource operation.


This example illustrates one usage of UntagResource.

#### Sample Request


```
POST / HTTP/1.1
Host: api.cur.<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: AWSOrigamiServiceGateway.UntagResource
{
  "ReportName": "ExampleReport",
  "TagKeys": ["tag-1", "tag-2"]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/cur-2017-01-06/UntagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/cur-2017-01-06/UntagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/cur-2017-01-06/UntagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/cur-2017-01-06/UntagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/cur-2017-01-06/UntagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/cur-2017-01-06/UntagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/cur-2017-01-06/UntagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/cur-2017-01-06/UntagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/cur-2017-01-06/UntagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/cur-2017-01-06/UntagResource) 

# Amazon Web Services China Region Free Tier


The following actions are supported by Amazon Web Services China Region Free Tier:
+  [GetAccountActivity](API_freetier_GetAccountActivity.md) 
+  [GetAccountPlanState](API_freetier_GetAccountPlanState.md) 
+  [GetFreeTierUsage](API_freetier_GetFreeTierUsage.md) 
+  [ListAccountActivities](API_freetier_ListAccountActivities.md) 
+  [UpgradeAccountPlan](API_freetier_UpgradeAccountPlan.md) 

# GetAccountActivity


 Returns a specific activity record that is available to the customer. 

## Request Syntax


```
{
   "activityId": "string",
   "languageCode": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [activityId](#API_freetier_GetAccountActivity_RequestSyntax) **   <a name="awscostmanagement-freetier_GetAccountActivity-request-activityId"></a>
 A unique identifier that identifies the activity.   
Type: String  
Length Constraints: Fixed length of 32.  
Pattern: `[a-zA-Z0-9]+`   
Required: Yes

 ** [languageCode](#API_freetier_GetAccountActivity_RequestSyntax) **   <a name="awscostmanagement-freetier_GetAccountActivity-request-languageCode"></a>
 The language code used to return translated title and description fields.   
Type: String  
Valid Values: `en-US | en-GB | id-ID | de-DE | es-ES | fr-FR | ja-JP | it-IT | pt-PT | ko-KR | zh-CN | zh-TW | tr-TR`   
Required: No

## Response Syntax


```
{
   "activityId": "string",
   "completedAt": "string",
   "description": "string",
   "estimatedTimeToCompleteInMinutes": number,
   "expiresAt": "string",
   "instructionsUrl": "string",
   "reward": { ... },
   "startedAt": "string",
   "status": "string",
   "title": "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.

 ** [activityId](#API_freetier_GetAccountActivity_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetAccountActivity-response-activityId"></a>
 A unique identifier that identifies the activity.   
Type: String  
Length Constraints: Fixed length of 32.  
Pattern: `[a-zA-Z0-9]+` 

 ** [completedAt](#API_freetier_GetAccountActivity_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetAccountActivity-response-completedAt"></a>
 The timestamp when the activity is completed. This field appears only for activities in the `COMPLETED` state.   
Type: Timestamp

 ** [description](#API_freetier_GetAccountActivity_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetAccountActivity-response-description"></a>
 Provides detailed information about the activity and its expected outcomes.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*` 

 ** [estimatedTimeToCompleteInMinutes](#API_freetier_GetAccountActivity_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetAccountActivity-response-estimatedTimeToCompleteInMinutes"></a>
 The estimated time to complete the activity. This is the duration in minutes.   
Type: Integer

 ** [expiresAt](#API_freetier_GetAccountActivity_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetAccountActivity-response-expiresAt"></a>
 The time by which the activity must be completed to receive a reward.   
Type: Timestamp

 ** [instructionsUrl](#API_freetier_GetAccountActivity_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetAccountActivity-response-instructionsUrl"></a>
 The URL resource that provides guidance on activity requirements and completion.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*` 

 ** [reward](#API_freetier_GetAccountActivity_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetAccountActivity-response-reward"></a>
 A reward granted upon activity completion.   
Type: [ActivityReward](API_freetier_ActivityReward.md) object  
 **Note: **This object is a Union. Only one member of this object can be specified or returned.

 ** [startedAt](#API_freetier_GetAccountActivity_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetAccountActivity-response-startedAt"></a>
 The timestamp when the activity started. This field appears only for activities in the `IN_PROGRESS` or `COMPLETED` states.   
Type: Timestamp

 ** [status](#API_freetier_GetAccountActivity_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetAccountActivity-response-status"></a>
 The current activity status.   
Type: String  
Valid Values: `NOT_STARTED | IN_PROGRESS | COMPLETED | EXPIRING` 

 ** [title](#API_freetier_GetAccountActivity_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetAccountActivity-response-title"></a>
 A short activity title.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An unexpected error occurred during the processing of your request.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 This exception is thrown when the requested resource cannot be found.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/freetier-2023-09-07/GetAccountActivity) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/freetier-2023-09-07/GetAccountActivity) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/freetier-2023-09-07/GetAccountActivity) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/freetier-2023-09-07/GetAccountActivity) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/freetier-2023-09-07/GetAccountActivity) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/freetier-2023-09-07/GetAccountActivity) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/freetier-2023-09-07/GetAccountActivity) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/freetier-2023-09-07/GetAccountActivity) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/freetier-2023-09-07/GetAccountActivity) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/freetier-2023-09-07/GetAccountActivity) 

# GetAccountPlanState


 This returns all of the information related to the state of the account plan related to Free Tier. 

## Response Syntax


```
{
   "accountId": "string",
   "accountPlanExpirationDate": "string",
   "accountPlanRemainingCredits": { 
      "amount": number,
      "unit": "string"
   },
   "accountPlanStatus": "string",
   "accountPlanType": "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.

 ** [accountId](#API_freetier_GetAccountPlanState_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetAccountPlanState-response-accountId"></a>
 A unique identifier that identifies the account.   
Type: String  
Pattern: `[0-9]{12}` 

 ** [accountPlanExpirationDate](#API_freetier_GetAccountPlanState_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetAccountPlanState-response-accountPlanExpirationDate"></a>
 The timestamp for when the current account plan expires.   
Type: Timestamp

 ** [accountPlanRemainingCredits](#API_freetier_GetAccountPlanState_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetAccountPlanState-response-accountPlanRemainingCredits"></a>
 The amount of credits remaining for the account.   
Type: [MonetaryAmount](API_freetier_MonetaryAmount.md) object

 ** [accountPlanStatus](#API_freetier_GetAccountPlanState_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetAccountPlanState-response-accountPlanStatus"></a>
 The current status for the account plan.   
Type: String  
Valid Values: `NOT_STARTED | ACTIVE | EXPIRED` 

 ** [accountPlanType](#API_freetier_GetAccountPlanState_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetAccountPlanState-response-accountPlanType"></a>
 The plan type for the account.   
Type: String  
Valid Values: `FREE | PAID` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You don't have sufficient access to perform this action.   
HTTP Status Code: 400

 ** InternalServerException **   
An unexpected error occurred during the processing of your request.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 This exception is thrown when the requested resource cannot be found.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/freetier-2023-09-07/GetAccountPlanState) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/freetier-2023-09-07/GetAccountPlanState) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/freetier-2023-09-07/GetAccountPlanState) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/freetier-2023-09-07/GetAccountPlanState) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/freetier-2023-09-07/GetAccountPlanState) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/freetier-2023-09-07/GetAccountPlanState) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/freetier-2023-09-07/GetAccountPlanState) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/freetier-2023-09-07/GetAccountPlanState) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/freetier-2023-09-07/GetAccountPlanState) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/freetier-2023-09-07/GetAccountPlanState) 

# GetFreeTierUsage


Returns a list of all Free Tier usage objects that match your filters.

## Request Syntax


```
{
   "filter": { 
      "And": [ 
         "Expression"
      ],
      "Dimensions": { 
         "Key": "string",
         "MatchOptions": [ "string" ],
         "Values": [ "string" ]
      },
      "Not": "Expression",
      "Or": [ 
         "Expression"
      ]
   },
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [filter](#API_freetier_GetFreeTierUsage_RequestSyntax) **   <a name="awscostmanagement-freetier_GetFreeTierUsage-request-filter"></a>
An expression that specifies the conditions that you want each `FreeTierUsage` object to meet.  
Type: [Expression](API_freetier_Expression.md) object  
Required: No

 ** [maxResults](#API_freetier_GetFreeTierUsage_RequestSyntax) **   <a name="awscostmanagement-freetier_GetFreeTierUsage-request-maxResults"></a>
The maximum number of results to return in the response. `MaxResults` means that there can be up to the specified number of values, but there might be fewer results based on your filters.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [nextToken](#API_freetier_GetFreeTierUsage_RequestSyntax) **   <a name="awscostmanagement-freetier_GetFreeTierUsage-request-nextToken"></a>
The pagination token that indicates the next set of results to retrieve.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "freeTierUsages": [ 
      { 
         "actualUsageAmount": number,
         "description": "string",
         "forecastedUsageAmount": number,
         "freeTierType": "string",
         "limit": number,
         "operation": "string",
         "region": "string",
         "service": "string",
         "unit": "string",
         "usageType": "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.

 ** [freeTierUsages](#API_freetier_GetFreeTierUsage_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetFreeTierUsage-response-freeTierUsages"></a>
The list of Free Tier usage objects that meet your filter expression.  
Type: Array of [FreeTierUsage](API_freetier_FreeTierUsage.md) objects

 ** [nextToken](#API_freetier_GetFreeTierUsage_ResponseSyntax) **   <a name="awscostmanagement-freetier_GetFreeTierUsage-response-nextToken"></a>
The pagination token that indicates the next set of results to retrieve.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 8192.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An unexpected error occurred during the processing of your request.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/freetier-2023-09-07/GetFreeTierUsage) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/freetier-2023-09-07/GetFreeTierUsage) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/freetier-2023-09-07/GetFreeTierUsage) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/freetier-2023-09-07/GetFreeTierUsage) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/freetier-2023-09-07/GetFreeTierUsage) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/freetier-2023-09-07/GetFreeTierUsage) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/freetier-2023-09-07/GetFreeTierUsage) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/freetier-2023-09-07/GetFreeTierUsage) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/freetier-2023-09-07/GetFreeTierUsage) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/freetier-2023-09-07/GetFreeTierUsage) 

# ListAccountActivities


 Returns a list of activities that are available. This operation supports pagination and filtering by status. 

## Request Syntax


```
{
   "filterActivityStatuses": [ "string" ],
   "languageCode": "string",
   "maxResults": number,
   "nextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [filterActivityStatuses](#API_freetier_ListAccountActivities_RequestSyntax) **   <a name="awscostmanagement-freetier_ListAccountActivities-request-filterActivityStatuses"></a>
 The activity status filter. This field can be used to filter the response by activities status.   
Type: Array of strings  
Valid Values: `NOT_STARTED | IN_PROGRESS | COMPLETED | EXPIRING`   
Required: No

 ** [languageCode](#API_freetier_ListAccountActivities_RequestSyntax) **   <a name="awscostmanagement-freetier_ListAccountActivities-request-languageCode"></a>
 The language code used to return translated titles.   
Type: String  
Valid Values: `en-US | en-GB | id-ID | de-DE | es-ES | fr-FR | ja-JP | it-IT | pt-PT | ko-KR | zh-CN | zh-TW | tr-TR`   
Required: No

 ** [maxResults](#API_freetier_ListAccountActivities_RequestSyntax) **   <a name="awscostmanagement-freetier_ListAccountActivities-request-maxResults"></a>
 The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [nextToken](#API_freetier_ListAccountActivities_RequestSyntax) **   <a name="awscostmanagement-freetier_ListAccountActivities-request-nextToken"></a>
 A token from a previous paginated response. If this is specified, the response includes records beginning from this token (inclusive), up to the number specified by `maxResults`.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 8192.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "activities": [ 
      { 
         "activityId": "string",
         "reward": { ... },
         "status": "string",
         "title": "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.

 ** [activities](#API_freetier_ListAccountActivities_ResponseSyntax) **   <a name="awscostmanagement-freetier_ListAccountActivities-response-activities"></a>
 A brief information about the activities.   
Type: Array of [ActivitySummary](API_freetier_ActivitySummary.md) objects

 ** [nextToken](#API_freetier_ListAccountActivities_ResponseSyntax) **   <a name="awscostmanagement-freetier_ListAccountActivities-response-nextToken"></a>
 The token to include in another request to get the next page of items. This value is `null` when there are no more items to return.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 8192.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
An unexpected error occurred during the processing of your request.  
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/freetier-2023-09-07/ListAccountActivities) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/freetier-2023-09-07/ListAccountActivities) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/freetier-2023-09-07/ListAccountActivities) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/freetier-2023-09-07/ListAccountActivities) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/freetier-2023-09-07/ListAccountActivities) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/freetier-2023-09-07/ListAccountActivities) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/freetier-2023-09-07/ListAccountActivities) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/freetier-2023-09-07/ListAccountActivities) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/freetier-2023-09-07/ListAccountActivities) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/freetier-2023-09-07/ListAccountActivities) 

# UpgradeAccountPlan


 The account plan type for the Amazon Web Services account. 

## Request Syntax


```
{
   "accountPlanType": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [accountPlanType](#API_freetier_UpgradeAccountPlan_RequestSyntax) **   <a name="awscostmanagement-freetier_UpgradeAccountPlan-request-accountPlanType"></a>
 The target account plan type. This makes it explicit about the change and latest value of the `accountPlanType`.   
Type: String  
Valid Values: `FREE | PAID`   
Required: Yes

## Response Syntax


```
{
   "accountId": "string",
   "accountPlanStatus": "string",
   "accountPlanType": "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.

 ** [accountId](#API_freetier_UpgradeAccountPlan_ResponseSyntax) **   <a name="awscostmanagement-freetier_UpgradeAccountPlan-response-accountId"></a>
 A unique identifier that identifies the account.   
Type: String  
Pattern: `[0-9]{12}` 

 ** [accountPlanStatus](#API_freetier_UpgradeAccountPlan_ResponseSyntax) **   <a name="awscostmanagement-freetier_UpgradeAccountPlan-response-accountPlanStatus"></a>
 This indicates the latest state of the account plan within its lifecycle.   
Type: String  
Valid Values: `NOT_STARTED | ACTIVE | EXPIRED` 

 ** [accountPlanType](#API_freetier_UpgradeAccountPlan_ResponseSyntax) **   <a name="awscostmanagement-freetier_UpgradeAccountPlan-response-accountPlanType"></a>
 The type of plan for the account.   
Type: String  
Valid Values: `FREE | PAID` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
 You don't have sufficient access to perform this action.   
HTTP Status Code: 400

 ** InternalServerException **   
An unexpected error occurred during the processing of your request.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 This exception is thrown when the requested resource cannot be found.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
The input fails to satisfy the constraints specified by an Amazon Web Services service.  
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/freetier-2023-09-07/UpgradeAccountPlan) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/freetier-2023-09-07/UpgradeAccountPlan) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/freetier-2023-09-07/UpgradeAccountPlan) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/freetier-2023-09-07/UpgradeAccountPlan) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/freetier-2023-09-07/UpgradeAccountPlan) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/freetier-2023-09-07/UpgradeAccountPlan) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/freetier-2023-09-07/UpgradeAccountPlan) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/freetier-2023-09-07/UpgradeAccountPlan) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/freetier-2023-09-07/UpgradeAccountPlan) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/freetier-2023-09-07/UpgradeAccountPlan) 

# Amazon Web Services Invoicing


The following actions are supported by Amazon Web Services Invoicing:
+  [BatchGetInvoiceProfile](API_invoicing_BatchGetInvoiceProfile.md) 
+  [CreateInvoiceUnit](API_invoicing_CreateInvoiceUnit.md) 
+  [CreateProcurementPortalPreference](API_invoicing_CreateProcurementPortalPreference.md) 
+  [DeleteInvoiceUnit](API_invoicing_DeleteInvoiceUnit.md) 
+  [DeleteProcurementPortalPreference](API_invoicing_DeleteProcurementPortalPreference.md) 
+  [GetInvoicePDF](API_invoicing_GetInvoicePDF.md) 
+  [GetInvoiceUnit](API_invoicing_GetInvoiceUnit.md) 
+  [GetProcurementPortalPreference](API_invoicing_GetProcurementPortalPreference.md) 
+  [ListInvoiceSummaries](API_invoicing_ListInvoiceSummaries.md) 
+  [ListInvoiceUnits](API_invoicing_ListInvoiceUnits.md) 
+  [ListProcurementPortalPreferences](API_invoicing_ListProcurementPortalPreferences.md) 
+  [ListTagsForResource](API_invoicing_ListTagsForResource.md) 
+  [PutProcurementPortalPreference](API_invoicing_PutProcurementPortalPreference.md) 
+  [TagResource](API_invoicing_TagResource.md) 
+  [UntagResource](API_invoicing_UntagResource.md) 
+  [UpdateInvoiceUnit](API_invoicing_UpdateInvoiceUnit.md) 
+  [UpdateProcurementPortalPreferenceStatus](API_invoicing_UpdateProcurementPortalPreferenceStatus.md) 

# BatchGetInvoiceProfile


This gets the invoice profile associated with a set of accounts. The accounts must be linked accounts under the requester management account organization.

## Request Syntax


```
{
   "AccountIds": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountIds](#API_invoicing_BatchGetInvoiceProfile_RequestSyntax) **   <a name="awscostmanagement-invoicing_BatchGetInvoiceProfile-request-AccountIds"></a>
Retrieves the corresponding invoice profile data for these account IDs.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 1000 items.  
Pattern: `\d{12}`   
Required: Yes

## Response Syntax


```
{
   "Profiles": [ 
      { 
         "AccountId": "string",
         "Issuer": "string",
         "ReceiverAddress": { 
            "AddressLine1": "string",
            "AddressLine2": "string",
            "AddressLine3": "string",
            "City": "string",
            "CompanyName": "string",
            "CountryCode": "string",
            "DistrictOrCounty": "string",
            "PostalCode": "string",
            "StateOrRegion": "string"
         },
         "ReceiverEmail": "string",
         "ReceiverName": "string",
         "TaxRegistrationNumber": "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.

 ** [Profiles](#API_invoicing_BatchGetInvoiceProfile_ResponseSyntax) **   <a name="awscostmanagement-invoicing_BatchGetInvoiceProfile-response-Profiles"></a>
 A list of invoice profiles corresponding to the requested accounts.   
Type: Array of [InvoiceProfile](API_invoicing_InvoiceProfile.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/BatchGetInvoiceProfile) 

# CreateInvoiceUnit


This creates a new invoice unit with the provided definition.

## Request Syntax


```
{
   "Description": "string",
   "InvoiceReceiver": "string",
   "Name": "string",
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "Rule": { 
      "BillSourceAccounts": [ "string" ],
      "LinkedAccounts": [ "string" ]
   },
   "TaxInheritanceDisabled": boolean
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Description](#API_invoicing_CreateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateInvoiceUnit-request-Description"></a>
 The invoice unit's description. This can be changed at a later time.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 500.  
Pattern: `[\S\s]*`   
Required: No

 ** [InvoiceReceiver](#API_invoicing_CreateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateInvoiceUnit-request-InvoiceReceiver"></a>
 The Amazon Web Services account ID chosen to be the receiver of an invoice unit. All invoices generated for that invoice unit will be sent to this account ID.   
Type: String  
Pattern: `\d{12}`   
Required: Yes

 ** [Name](#API_invoicing_CreateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateInvoiceUnit-request-Name"></a>
 The unique name of the invoice unit that is shown on the generated invoice. This can't be changed once it is set. To change this name, you must delete the invoice unit recreate.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `(?! )[\p{L}\p{N}\p{Z}-_]*(?<! )`   
Required: Yes

 ** [ResourceTags](#API_invoicing_CreateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateInvoiceUnit-request-ResourceTags"></a>
 The tag structure that contains a tag key and value.   
Type: Array of [ResourceTag](API_invoicing_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: No

 ** [Rule](#API_invoicing_CreateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateInvoiceUnit-request-Rule"></a>
The `InvoiceUnitRule` object used to create invoice units.   
Type: [InvoiceUnitRule](API_invoicing_InvoiceUnitRule.md) object  
Required: Yes

 ** [TaxInheritanceDisabled](#API_invoicing_CreateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateInvoiceUnit-request-TaxInheritanceDisabled"></a>
Whether the invoice unit based tax inheritance is/ should be enabled or disabled.   
Type: Boolean  
Required: No

## Response Syntax


```
{
   "InvoiceUnitArn": "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.

 ** [InvoiceUnitArn](#API_invoicing_CreateInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_CreateInvoiceUnit-response-InvoiceUnitArn"></a>
 The ARN to identify an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/CreateInvoiceUnit) 

# CreateProcurementPortalPreference


 * **This feature API is subject to changing at any time. For more information, see the [Amazon Service Terms](https://aws.amazon.com/service-terms/) (Betas and Previews).** * 

Creates a procurement portal preference configuration for e-invoice delivery and purchase order retrieval. This preference defines how invoices are delivered to a procurement portal and how purchase orders are retrieved.

## Request Syntax


```
{
   "BuyerDomain": "string",
   "BuyerIdentifier": "string",
   "ClientToken": "string",
   "Contacts": [ 
      { 
         "Email": "string",
         "Name": "string"
      }
   ],
   "EinvoiceDeliveryEnabled": boolean,
   "EinvoiceDeliveryPreference": { 
      "ConnectionTestingMethod": "string",
      "EinvoiceDeliveryActivationDate": number,
      "EinvoiceDeliveryAttachmentTypes": [ "string" ],
      "EinvoiceDeliveryDocumentTypes": [ "string" ],
      "Protocol": "string",
      "PurchaseOrderDataSources": [ 
         { 
            "EinvoiceDeliveryDocumentType": "string",
            "PurchaseOrderDataSourceType": "string"
         }
      ]
   },
   "ProcurementPortalInstanceEndpoint": "string",
   "ProcurementPortalName": "string",
   "ProcurementPortalSharedSecret": "string",
   "PurchaseOrderRetrievalEnabled": boolean,
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "Selector": { 
      "InvoiceUnitArns": [ "string" ],
      "SellerOfRecords": [ "string" ]
   },
   "SupplierDomain": "string",
   "SupplierIdentifier": "string",
   "TestEnvPreference": { 
      "BuyerDomain": "string",
      "BuyerIdentifier": "string",
      "ProcurementPortalInstanceEndpoint": "string",
      "ProcurementPortalSharedSecret": "string",
      "SupplierDomain": "string",
      "SupplierIdentifier": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [BuyerDomain](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-BuyerDomain"></a>
The domain identifier for the buyer in the procurement portal.  
Type: String  
Valid Values: `NetworkID`   
Required: Yes

 ** [BuyerIdentifier](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-BuyerIdentifier"></a>
The unique identifier for the buyer in the procurement portal.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: Yes

 ** [ClientToken](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-ClientToken"></a>
A unique, case-sensitive identifier that you provide to ensure idempotency of the request.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: No

 ** [Contacts](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-Contacts"></a>
List of contact information for portal administrators and technical contacts responsible for the e-invoice integration.  
Type: Array of [Contact](API_invoicing_Contact.md) objects  
Array Members: Fixed number of 1 item.  
Required: Yes

 ** [EinvoiceDeliveryEnabled](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-EinvoiceDeliveryEnabled"></a>
Indicates whether e-invoice delivery is enabled for this procurement portal preference. Set to true to enable e-invoice delivery, false to disable.  
Type: Boolean  
Required: Yes

 ** [EinvoiceDeliveryPreference](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-EinvoiceDeliveryPreference"></a>
Specifies the e-invoice delivery configuration including document types, attachment types, and customization settings for the portal.  
Type: [EinvoiceDeliveryPreference](API_invoicing_EinvoiceDeliveryPreference.md) object  
Required: No

 ** [ProcurementPortalInstanceEndpoint](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-ProcurementPortalInstanceEndpoint"></a>
The endpoint URL where e-invoices will be delivered to the procurement portal. Must be a valid HTTPS URL.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: No

 ** [ProcurementPortalName](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-ProcurementPortalName"></a>
The name of the procurement portal.  
Type: String  
Valid Values: `SAP_BUSINESS_NETWORK | COUPA`   
Required: Yes

 ** [ProcurementPortalSharedSecret](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-ProcurementPortalSharedSecret"></a>
The shared secret or authentication credential used to establish secure communication with the procurement portal. This value must be encrypted at rest.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: No

 ** [PurchaseOrderRetrievalEnabled](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-PurchaseOrderRetrievalEnabled"></a>
Indicates whether purchase order retrieval is enabled for this procurement portal preference. Set to true to enable PO retrieval, false to disable.  
Type: Boolean  
Required: Yes

 ** [ResourceTags](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-ResourceTags"></a>
The tags to apply to this procurement portal preference resource. Each tag consists of a key and an optional value.  
Type: Array of [ResourceTag](API_invoicing_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: No

 ** [Selector](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-Selector"></a>
Specifies criteria for selecting which invoices should be processed using a particular procurement portal preference.  
Type: [ProcurementPortalPreferenceSelector](API_invoicing_ProcurementPortalPreferenceSelector.md) object  
Required: No

 ** [SupplierDomain](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-SupplierDomain"></a>
The domain identifier for the supplier in the procurement portal.  
Type: String  
Valid Values: `NetworkID`   
Required: Yes

 ** [SupplierIdentifier](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-SupplierIdentifier"></a>
The unique identifier for the supplier in the procurement portal.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: Yes

 ** [TestEnvPreference](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-TestEnvPreference"></a>
Configuration settings for the test environment of the procurement portal. Includes test credentials and endpoints that are used for validation before production deployment.  
Type: [TestEnvPreferenceInput](API_invoicing_TestEnvPreferenceInput.md) object  
Required: No

## Response Syntax


```
{
   "ProcurementPortalPreferenceArn": "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.

 ** [ProcurementPortalPreferenceArn](#API_invoicing_CreateProcurementPortalPreference_ResponseSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-response-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the created procurement portal preference.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** ConflictException **   
The request could not be completed due to a conflict with the current state of the resource. This exception occurs when a concurrent modification is detected during an update operation, or when attempting to create a resource that already exists.    
 ** resourceId **   
The identifier of the resource that caused the conflict.  
 ** resourceType **   
The type of resource that caused the conflict.
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ServiceQuotaExceededException **   
The request was rejected because it attempted to create resources beyond the current Amazon Web Services account limits. The error message describes the limit exceeded.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/CreateProcurementPortalPreference) 

# DeleteInvoiceUnit


This deletes an invoice unit with the provided invoice unit ARN. 

## Request Syntax


```
{
   "InvoiceUnitArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [InvoiceUnitArn](#API_invoicing_DeleteInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_DeleteInvoiceUnit-request-InvoiceUnitArn"></a>
 The ARN to identify an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

## Response Syntax


```
{
   "InvoiceUnitArn": "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.

 ** [InvoiceUnitArn](#API_invoicing_DeleteInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_DeleteInvoiceUnit-response-InvoiceUnitArn"></a>
 The ARN to identify an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/DeleteInvoiceUnit) 

# DeleteProcurementPortalPreference


 * **This feature API is subject to changing at any time. For more information, see the [Amazon Service Terms](https://aws.amazon.com/service-terms/) (Betas and Previews).** * 

Deletes an existing procurement portal preference. This action cannot be undone. Active e-invoice delivery and PO retrieval configurations will be terminated.

## Request Syntax


```
{
   "ProcurementPortalPreferenceArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ProcurementPortalPreferenceArn](#API_invoicing_DeleteProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_DeleteProcurementPortalPreference-request-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the procurement portal preference to delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+`   
Required: Yes

## Response Syntax


```
{
   "ProcurementPortalPreferenceArn": "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.

 ** [ProcurementPortalPreferenceArn](#API_invoicing_DeleteProcurementPortalPreference_ResponseSyntax) **   <a name="awscostmanagement-invoicing_DeleteProcurementPortalPreference-response-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the deleted procurement portal preference.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
The request was rejected because it attempted to create resources beyond the current Amazon Web Services account limits. The error message describes the limit exceeded.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/DeleteProcurementPortalPreference) 

# GetInvoicePDF


Returns a URL to download the invoice document and supplemental documents associated with an invoice. The URLs are pre-signed and have expiration time. For special cases like Brazil, where Amazon generated invoice identifiers and government provided identifiers do not match, use the Amazon generated invoice identifier when making API requests. To grant IAM permission to use this operation, the caller needs the `invoicing:GetInvoicePDF` policy action.

## Request Syntax


```
{
   "InvoiceId": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [InvoiceId](#API_invoicing_GetInvoicePDF_RequestSyntax) **   <a name="awscostmanagement-invoicing_GetInvoicePDF-request-InvoiceId"></a>
 Your unique invoice ID.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `.*`   
Required: Yes

## Response Syntax


```
{
   "InvoicePDF": { 
      "DocumentUrl": "string",
      "DocumentUrlExpirationDate": number,
      "InvoiceId": "string",
      "SupplementalDocuments": [ 
         { 
            "DocumentUrl": "string",
            "DocumentUrlExpirationDate": 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.

 ** [InvoicePDF](#API_invoicing_GetInvoicePDF_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoicePDF-response-InvoicePDF"></a>
 The invoice document and supplemental documents associated with the invoice.   
Type: [InvoicePDF](API_invoicing_InvoicePDF.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/GetInvoicePDF) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/GetInvoicePDF) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/GetInvoicePDF) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/GetInvoicePDF) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/GetInvoicePDF) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/GetInvoicePDF) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/GetInvoicePDF) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/GetInvoicePDF) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/GetInvoicePDF) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/GetInvoicePDF) 

# GetInvoiceUnit


This retrieves the invoice unit definition.

## Request Syntax


```
{
   "AsOf": number,
   "InvoiceUnitArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AsOf](#API_invoicing_GetInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-request-AsOf"></a>
 The state of an invoice unit at a specified time. You can see legacy invoice units that are currently deleted if the `AsOf` time is set to before it was deleted. If an `AsOf` is not provided, the default value is the current time.   
Type: Timestamp  
Required: No

 ** [InvoiceUnitArn](#API_invoicing_GetInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-request-InvoiceUnitArn"></a>
 The ARN to identify an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

## Response Syntax


```
{
   "Description": "string",
   "InvoiceReceiver": "string",
   "InvoiceUnitArn": "string",
   "LastModified": number,
   "Name": "string",
   "Rule": { 
      "BillSourceAccounts": [ "string" ],
      "LinkedAccounts": [ "string" ]
   },
   "TaxInheritanceDisabled": boolean
}
```

## 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.

 ** [Description](#API_invoicing_GetInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-response-Description"></a>
 The assigned description for an invoice unit.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 500.  
Pattern: `[\S\s]*` 

 ** [InvoiceReceiver](#API_invoicing_GetInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-response-InvoiceReceiver"></a>
 The Amazon Web Services account ID chosen to be the receiver of an invoice unit. All invoices generated for that invoice unit will be sent to this account ID.   
Type: String  
Pattern: `\d{12}` 

 ** [InvoiceUnitArn](#API_invoicing_GetInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-response-InvoiceUnitArn"></a>
 The ARN to identify an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+` 

 ** [LastModified](#API_invoicing_GetInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-response-LastModified"></a>
 The most recent date the invoice unit response was updated.   
Type: Timestamp

 ** [Name](#API_invoicing_GetInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-response-Name"></a>
 The unique name of the invoice unit that is shown on the generated invoice.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `(?! )[\p{L}\p{N}\p{Z}-_]*(?<! )` 

 ** [Rule](#API_invoicing_GetInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-response-Rule"></a>
 This is used to categorize the invoice unit. Values are Amazon Web Services account IDs. Currently, the only supported rule is `LINKED_ACCOUNT`.   
Type: [InvoiceUnitRule](API_invoicing_InvoiceUnitRule.md) object

 ** [TaxInheritanceDisabled](#API_invoicing_GetInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-response-TaxInheritanceDisabled"></a>
 Whether the invoice unit based tax inheritance is/ should be enabled or disabled.   
Type: Boolean

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/GetInvoiceUnit) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/GetInvoiceUnit) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/GetInvoiceUnit) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/GetInvoiceUnit) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/GetInvoiceUnit) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/GetInvoiceUnit) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/GetInvoiceUnit) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/GetInvoiceUnit) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/GetInvoiceUnit) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/GetInvoiceUnit) 

# GetProcurementPortalPreference


 * **This feature API is subject to changing at any time. For more information, see the [Amazon Service Terms](https://aws.amazon.com/service-terms/) (Betas and Previews).** * 

Retrieves the details of a specific procurement portal preference configuration.

## Request Syntax


```
{
   "ProcurementPortalPreferenceArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ProcurementPortalPreferenceArn](#API_invoicing_GetProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_GetProcurementPortalPreference-request-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the procurement portal preference to retrieve.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+`   
Required: Yes

## Response Syntax


```
{
   "ProcurementPortalPreference": { 
      "AwsAccountId": "string",
      "BuyerDomain": "string",
      "BuyerIdentifier": "string",
      "Contacts": [ 
         { 
            "Email": "string",
            "Name": "string"
         }
      ],
      "CreateDate": number,
      "EinvoiceDeliveryEnabled": boolean,
      "EinvoiceDeliveryPreference": { 
         "ConnectionTestingMethod": "string",
         "EinvoiceDeliveryActivationDate": number,
         "EinvoiceDeliveryAttachmentTypes": [ "string" ],
         "EinvoiceDeliveryDocumentTypes": [ "string" ],
         "Protocol": "string",
         "PurchaseOrderDataSources": [ 
            { 
               "EinvoiceDeliveryDocumentType": "string",
               "PurchaseOrderDataSourceType": "string"
            }
         ]
      },
      "EinvoiceDeliveryPreferenceStatus": "string",
      "EinvoiceDeliveryPreferenceStatusReason": "string",
      "LastUpdateDate": number,
      "ProcurementPortalInstanceEndpoint": "string",
      "ProcurementPortalName": "string",
      "ProcurementPortalPreferenceArn": "string",
      "ProcurementPortalSharedSecret": "string",
      "PurchaseOrderRetrievalEnabled": boolean,
      "PurchaseOrderRetrievalEndpoint": "string",
      "PurchaseOrderRetrievalPreferenceStatus": "string",
      "PurchaseOrderRetrievalPreferenceStatusReason": "string",
      "Selector": { 
         "InvoiceUnitArns": [ "string" ],
         "SellerOfRecords": [ "string" ]
      },
      "SupplierDomain": "string",
      "SupplierIdentifier": "string",
      "TestEnvPreference": { 
         "BuyerDomain": "string",
         "BuyerIdentifier": "string",
         "ProcurementPortalInstanceEndpoint": "string",
         "ProcurementPortalSharedSecret": "string",
         "PurchaseOrderRetrievalEndpoint": "string",
         "SupplierDomain": "string",
         "SupplierIdentifier": "string"
      },
      "Version": 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.

 ** [ProcurementPortalPreference](#API_invoicing_GetProcurementPortalPreference_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetProcurementPortalPreference-response-ProcurementPortalPreference"></a>
The detailed configuration of the requested procurement portal preference.  
Type: [ProcurementPortalPreference](API_invoicing_ProcurementPortalPreference.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** ConflictException **   
The request could not be completed due to a conflict with the current state of the resource. This exception occurs when a concurrent modification is detected during an update operation, or when attempting to create a resource that already exists.    
 ** resourceId **   
The identifier of the resource that caused the conflict.  
 ** resourceType **   
The type of resource that caused the conflict.
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
The request was rejected because it attempted to create resources beyond the current Amazon Web Services account limits. The error message describes the limit exceeded.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/GetProcurementPortalPreference) 

# ListInvoiceSummaries


Retrieves your invoice details programmatically, without line item details.

## Request Syntax


```
{
   "Filter": { 
      "BillingPeriod": { 
         "Month": number,
         "Year": number
      },
      "InvoicingEntity": "string",
      "TimeInterval": { 
         "EndDate": number,
         "StartDate": number
      }
   },
   "MaxResults": number,
   "NextToken": "string",
   "Selector": { 
      "ResourceType": "string",
      "Value": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Filter](#API_invoicing_ListInvoiceSummaries_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceSummaries-request-Filter"></a>
Filters you can use to customize your invoice summary.  
Type: [InvoiceSummariesFilter](API_invoicing_InvoiceSummariesFilter.md) object  
Required: No

 ** [MaxResults](#API_invoicing_ListInvoiceSummaries_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceSummaries-request-MaxResults"></a>
The maximum number of invoice summaries a paginated response can contain.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextToken](#API_invoicing_ListInvoiceSummaries_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceSummaries-request-NextToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 1.  
Pattern: `[\S\s]*`   
Required: No

 ** [Selector](#API_invoicing_ListInvoiceSummaries_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceSummaries-request-Selector"></a>
The option to retrieve details for a specific invoice by providing its unique ID. Alternatively, access information for all invoices linked to the account by providing an account ID.  
Type: [InvoiceSummariesSelector](API_invoicing_InvoiceSummariesSelector.md) object  
Required: Yes

## Response Syntax


```
{
   "InvoiceSummaries": [ 
      { 
         "AccountId": "string",
         "BaseCurrencyAmount": { 
            "AmountBreakdown": { 
               "Discounts": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               },
               "Fees": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               },
               "SubTotalAmount": "string",
               "Taxes": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               }
            },
            "CurrencyCode": "string",
            "CurrencyExchangeDetails": { 
               "Rate": "string",
               "SourceCurrencyCode": "string",
               "TargetCurrencyCode": "string"
            },
            "TotalAmount": "string",
            "TotalAmountBeforeTax": "string"
         },
         "BillingPeriod": { 
            "Month": number,
            "Year": number
         },
         "DueDate": number,
         "Entity": { 
            "InvoicingEntity": "string"
         },
         "InvoiceId": "string",
         "InvoiceType": "string",
         "IssuedDate": number,
         "OriginalInvoiceId": "string",
         "PaymentCurrencyAmount": { 
            "AmountBreakdown": { 
               "Discounts": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               },
               "Fees": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               },
               "SubTotalAmount": "string",
               "Taxes": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               }
            },
            "CurrencyCode": "string",
            "CurrencyExchangeDetails": { 
               "Rate": "string",
               "SourceCurrencyCode": "string",
               "TargetCurrencyCode": "string"
            },
            "TotalAmount": "string",
            "TotalAmountBeforeTax": "string"
         },
         "PurchaseOrderNumber": "string",
         "TaxCurrencyAmount": { 
            "AmountBreakdown": { 
               "Discounts": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               },
               "Fees": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               },
               "SubTotalAmount": "string",
               "Taxes": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               }
            },
            "CurrencyCode": "string",
            "CurrencyExchangeDetails": { 
               "Rate": "string",
               "SourceCurrencyCode": "string",
               "TargetCurrencyCode": "string"
            },
            "TotalAmount": "string",
            "TotalAmountBeforeTax": "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.

 ** [InvoiceSummaries](#API_invoicing_ListInvoiceSummaries_ResponseSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceSummaries-response-InvoiceSummaries"></a>
List of key (summary level) invoice details without line item details.  
Type: Array of [InvoiceSummary](API_invoicing_InvoiceSummary.md) objects

 ** [NextToken](#API_invoicing_ListInvoiceSummaries_ResponseSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceSummaries-response-NextToken"></a>
The token to retrieve the next set of results. Amazon provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 1.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/ListInvoiceSummaries) 

# ListInvoiceUnits


This fetches a list of all invoice unit definitions for a given account, as of the provided `AsOf` date.

## Request Syntax


```
{
   "AsOf": number,
   "Filters": { 
      "Accounts": [ "string" ],
      "BillSourceAccounts": [ "string" ],
      "InvoiceReceivers": [ "string" ],
      "Names": [ "string" ]
   },
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AsOf](#API_invoicing_ListInvoiceUnits_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceUnits-request-AsOf"></a>
 The state of an invoice unit at a specified time. You can see legacy invoice units that are currently deleted if the `AsOf` time is set to before it was deleted. If an `AsOf` is not provided, the default value is the current time.   
Type: Timestamp  
Required: No

 ** [Filters](#API_invoicing_ListInvoiceUnits_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceUnits-request-Filters"></a>
 An optional input to the list API. If multiple filters are specified, the returned list will be a configuration that match all of the provided filters. Supported filter types are `InvoiceReceivers`, `Names`, and `Accounts`.   
Type: [Filters](API_invoicing_Filters.md) object  
Required: No

 ** [MaxResults](#API_invoicing_ListInvoiceUnits_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceUnits-request-MaxResults"></a>
The maximum number of invoice units that can be returned.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 500.  
Required: No

 ** [NextToken](#API_invoicing_ListInvoiceUnits_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceUnits-request-NextToken"></a>
The next token used to indicate where the returned list should start from.   
Type: String  
Length Constraints: Minimum length of 1.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "InvoiceUnits": [ 
      { 
         "Description": "string",
         "InvoiceReceiver": "string",
         "InvoiceUnitArn": "string",
         "LastModified": number,
         "Name": "string",
         "Rule": { 
            "BillSourceAccounts": [ "string" ],
            "LinkedAccounts": [ "string" ]
         },
         "TaxInheritanceDisabled": boolean
      }
   ],
   "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.

 ** [InvoiceUnits](#API_invoicing_ListInvoiceUnits_ResponseSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceUnits-response-InvoiceUnits"></a>
 An invoice unit is a set of mutually exclusive accounts that correspond to your business entity.   
Type: Array of [InvoiceUnit](API_invoicing_InvoiceUnit.md) objects

 ** [NextToken](#API_invoicing_ListInvoiceUnits_ResponseSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceUnits-response-NextToken"></a>
The next token used to indicate where the returned list should start from.   
Type: String  
Length Constraints: Minimum length of 1.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/ListInvoiceUnits) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/ListInvoiceUnits) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/ListInvoiceUnits) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/ListInvoiceUnits) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/ListInvoiceUnits) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/ListInvoiceUnits) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/ListInvoiceUnits) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/ListInvoiceUnits) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/ListInvoiceUnits) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/ListInvoiceUnits) 

# ListProcurementPortalPreferences


 * **This feature API is subject to changing at any time. For more information, see the [Amazon Service Terms](https://aws.amazon.com/service-terms/) (Betas and Previews).** * 

Retrieves a list of procurement portal preferences associated with the Amazon Web Services account.

## Request Syntax


```
{
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_invoicing_ListProcurementPortalPreferences_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListProcurementPortalPreferences-request-MaxResults"></a>
The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextToken](#API_invoicing_ListProcurementPortalPreferences_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListProcurementPortalPreferences-request-NextToken"></a>
The token for the next set of results. (You received this token from a previous call.)  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: No

## Response Syntax


```
{
   "NextToken": "string",
   "ProcurementPortalPreferences": [ 
      { 
         "AwsAccountId": "string",
         "BuyerDomain": "string",
         "BuyerIdentifier": "string",
         "CreateDate": number,
         "EinvoiceDeliveryEnabled": boolean,
         "EinvoiceDeliveryPreferenceStatus": "string",
         "EinvoiceDeliveryPreferenceStatusReason": "string",
         "LastUpdateDate": number,
         "ProcurementPortalName": "string",
         "ProcurementPortalPreferenceArn": "string",
         "PurchaseOrderRetrievalEnabled": boolean,
         "PurchaseOrderRetrievalPreferenceStatus": "string",
         "PurchaseOrderRetrievalPreferenceStatusReason": "string",
         "Selector": { 
            "InvoiceUnitArns": [ "string" ],
            "SellerOfRecords": [ "string" ]
         },
         "SupplierDomain": "string",
         "SupplierIdentifier": "string",
         "Version": 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.

 ** [NextToken](#API_invoicing_ListProcurementPortalPreferences_ResponseSyntax) **   <a name="awscostmanagement-invoicing_ListProcurementPortalPreferences-response-NextToken"></a>
The token to use to retrieve the next set of results, or null if there are no more results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+` 

 ** [ProcurementPortalPreferences](#API_invoicing_ListProcurementPortalPreferences_ResponseSyntax) **   <a name="awscostmanagement-invoicing_ListProcurementPortalPreferences-response-ProcurementPortalPreferences"></a>
The list of procurement portal preferences associated with the Amazon Web Services account.  
Type: Array of [ProcurementPortalPreferenceSummary](API_invoicing_ProcurementPortalPreferenceSummary.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** ConflictException **   
The request could not be completed due to a conflict with the current state of the resource. This exception occurs when a concurrent modification is detected during an update operation, or when attempting to create a resource that already exists.    
 ** resourceId **   
The identifier of the resource that caused the conflict.  
 ** resourceType **   
The type of resource that caused the conflict.
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ServiceQuotaExceededException **   
The request was rejected because it attempted to create resources beyond the current Amazon Web Services account limits. The error message describes the limit exceeded.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/ListProcurementPortalPreferences) 

# ListTagsForResource


Lists the tags for a resource. 

## Request Syntax


```
{
   "ResourceArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_invoicing_ListTagsForResource_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListTagsForResource-request-ResourceArn"></a>
The Amazon Resource Name (ARN) of tags to list.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:(invoicing)::[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

## Response Syntax


```
{
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "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.

 ** [ResourceTags](#API_invoicing_ListTagsForResource_ResponseSyntax) **   <a name="awscostmanagement-invoicing_ListTagsForResource-response-ResourceTags"></a>
 Adds a tag to a resource.   
Type: Array of [ResourceTag](API_invoicing_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/ListTagsForResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/ListTagsForResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/ListTagsForResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/ListTagsForResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/ListTagsForResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/ListTagsForResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/ListTagsForResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/ListTagsForResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/ListTagsForResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/ListTagsForResource) 

# PutProcurementPortalPreference


 * **This feature API is subject to changing at any time. For more information, see the [Amazon Service Terms](https://aws.amazon.com/service-terms/) (Betas and Previews).** * 

Updates an existing procurement portal preference configuration. This operation can modify settings for e-invoice delivery and purchase order retrieval.

## Request Syntax


```
{
   "Contacts": [ 
      { 
         "Email": "string",
         "Name": "string"
      }
   ],
   "EinvoiceDeliveryEnabled": boolean,
   "EinvoiceDeliveryPreference": { 
      "ConnectionTestingMethod": "string",
      "EinvoiceDeliveryActivationDate": number,
      "EinvoiceDeliveryAttachmentTypes": [ "string" ],
      "EinvoiceDeliveryDocumentTypes": [ "string" ],
      "Protocol": "string",
      "PurchaseOrderDataSources": [ 
         { 
            "EinvoiceDeliveryDocumentType": "string",
            "PurchaseOrderDataSourceType": "string"
         }
      ]
   },
   "ProcurementPortalInstanceEndpoint": "string",
   "ProcurementPortalPreferenceArn": "string",
   "ProcurementPortalSharedSecret": "string",
   "PurchaseOrderRetrievalEnabled": boolean,
   "Selector": { 
      "InvoiceUnitArns": [ "string" ],
      "SellerOfRecords": [ "string" ]
   },
   "TestEnvPreference": { 
      "BuyerDomain": "string",
      "BuyerIdentifier": "string",
      "ProcurementPortalInstanceEndpoint": "string",
      "ProcurementPortalSharedSecret": "string",
      "SupplierDomain": "string",
      "SupplierIdentifier": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Contacts](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-Contacts"></a>
Updated list of contact information for portal administrators and technical contacts.  
Type: Array of [Contact](API_invoicing_Contact.md) objects  
Array Members: Fixed number of 1 item.  
Required: Yes

 ** [EinvoiceDeliveryEnabled](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-EinvoiceDeliveryEnabled"></a>
Updated flag indicating whether e-invoice delivery is enabled for this procurement portal preference.  
Type: Boolean  
Required: Yes

 ** [EinvoiceDeliveryPreference](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-EinvoiceDeliveryPreference"></a>
Updated e-invoice delivery configuration including document types, attachment types, and customization settings for the portal.  
Type: [EinvoiceDeliveryPreference](API_invoicing_EinvoiceDeliveryPreference.md) object  
Required: No

 ** [ProcurementPortalInstanceEndpoint](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-ProcurementPortalInstanceEndpoint"></a>
The updated endpoint URL where e-invoices will be delivered to the procurement portal. Must be a valid HTTPS URL.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: No

 ** [ProcurementPortalPreferenceArn](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the procurement portal preference to update.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+`   
Required: Yes

 ** [ProcurementPortalSharedSecret](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-ProcurementPortalSharedSecret"></a>
The updated shared secret or authentication credential for the procurement portal. This value must be encrypted at rest.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: No

 ** [PurchaseOrderRetrievalEnabled](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-PurchaseOrderRetrievalEnabled"></a>
Updated flag indicating whether purchase order retrieval is enabled for this procurement portal preference.  
Type: Boolean  
Required: Yes

 ** [Selector](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-Selector"></a>
Specifies criteria for selecting which invoices should be processed using a particular procurement portal preference.  
Type: [ProcurementPortalPreferenceSelector](API_invoicing_ProcurementPortalPreferenceSelector.md) object  
Required: No

 ** [TestEnvPreference](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-TestEnvPreference"></a>
Updated configuration settings for the test environment of the procurement portal.  
Type: [TestEnvPreferenceInput](API_invoicing_TestEnvPreferenceInput.md) object  
Required: No

## Response Syntax


```
{
   "ProcurementPortalPreferenceArn": "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.

 ** [ProcurementPortalPreferenceArn](#API_invoicing_PutProcurementPortalPreference_ResponseSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-response-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the updated procurement portal preference.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** ConflictException **   
The request could not be completed due to a conflict with the current state of the resource. This exception occurs when a concurrent modification is detected during an update operation, or when attempting to create a resource that already exists.    
 ** resourceId **   
The identifier of the resource that caused the conflict.  
 ** resourceType **   
The type of resource that caused the conflict.
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
The request was rejected because it attempted to create resources beyond the current Amazon Web Services account limits. The error message describes the limit exceeded.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/PutProcurementPortalPreference) 

# TagResource


Adds a tag to a resource. 

## Request Syntax


```
{
   "ResourceArn": "string",
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_invoicing_TagResource_RequestSyntax) **   <a name="awscostmanagement-invoicing_TagResource-request-ResourceArn"></a>
The Amazon Resource Name (ARN) of the tags.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:(invoicing)::[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

 ** [ResourceTags](#API_invoicing_TagResource_RequestSyntax) **   <a name="awscostmanagement-invoicing_TagResource-request-ResourceTags"></a>
 Adds a tag to a resource.   
Type: Array of [ResourceTag](API_invoicing_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
The request was rejected because it attempted to create resources beyond the current Amazon Web Services account limits. The error message describes the limit exceeded.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/TagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/TagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/TagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/TagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/TagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/TagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/TagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/TagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/TagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/TagResource) 

# UntagResource


 Removes a tag from a resource. 

## Request Syntax


```
{
   "ResourceArn": "string",
   "ResourceTagKeys": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_invoicing_UntagResource_RequestSyntax) **   <a name="awscostmanagement-invoicing_UntagResource-request-ResourceArn"></a>
 The Amazon Resource Name (ARN) to untag.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:(invoicing)::[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

 ** [ResourceTagKeys](#API_invoicing_UntagResource_RequestSyntax) **   <a name="awscostmanagement-invoicing_UntagResource-request-ResourceTagKeys"></a>
 Keys for the tags to be removed.   
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/UntagResource) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/UntagResource) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/UntagResource) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/UntagResource) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/UntagResource) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/UntagResource) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/UntagResource) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/UntagResource) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/UntagResource) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/UntagResource) 

# UpdateInvoiceUnit


You can update the invoice unit configuration at any time, and Amazon will use the latest configuration at the end of the month.

## Request Syntax


```
{
   "Description": "string",
   "InvoiceUnitArn": "string",
   "Rule": { 
      "BillSourceAccounts": [ "string" ],
      "LinkedAccounts": [ "string" ]
   },
   "TaxInheritanceDisabled": boolean
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Description](#API_invoicing_UpdateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateInvoiceUnit-request-Description"></a>
The assigned description for an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 500.  
Pattern: `[\S\s]*`   
Required: No

 ** [InvoiceUnitArn](#API_invoicing_UpdateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateInvoiceUnit-request-InvoiceUnitArn"></a>
The ARN to identify an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

 ** [Rule](#API_invoicing_UpdateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateInvoiceUnit-request-Rule"></a>
The `InvoiceUnitRule` object used to update invoice units.   
Type: [InvoiceUnitRule](API_invoicing_InvoiceUnitRule.md) object  
Required: No

 ** [TaxInheritanceDisabled](#API_invoicing_UpdateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateInvoiceUnit-request-TaxInheritanceDisabled"></a>
Whether the invoice unit based tax inheritance is/ should be enabled or disabled.   
Type: Boolean  
Required: No

## Response Syntax


```
{
   "InvoiceUnitArn": "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.

 ** [InvoiceUnitArn](#API_invoicing_UpdateInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_UpdateInvoiceUnit-response-InvoiceUnitArn"></a>
 The ARN to identify an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/UpdateInvoiceUnit) 

# UpdateProcurementPortalPreferenceStatus


 * **This feature API is subject to changing at any time. For more information, see the [Amazon Service Terms](https://aws.amazon.com/service-terms/) (Betas and Previews).** * 

Updates the status of a procurement portal preference, including the activation state of e-invoice delivery and purchase order retrieval features.

## Request Syntax


```
{
   "EinvoiceDeliveryPreferenceStatus": "string",
   "EinvoiceDeliveryPreferenceStatusReason": "string",
   "ProcurementPortalPreferenceArn": "string",
   "PurchaseOrderRetrievalPreferenceStatus": "string",
   "PurchaseOrderRetrievalPreferenceStatusReason": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [EinvoiceDeliveryPreferenceStatus](#API_invoicing_UpdateProcurementPortalPreferenceStatus_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateProcurementPortalPreferenceStatus-request-EinvoiceDeliveryPreferenceStatus"></a>
The updated status of the e-invoice delivery preference.  
Type: String  
Valid Values: `PENDING_VERIFICATION | TEST_INITIALIZED | TEST_INITIALIZATION_FAILED | TEST_FAILED | ACTIVE | SUSPENDED`   
Required: No

 ** [EinvoiceDeliveryPreferenceStatusReason](#API_invoicing_UpdateProcurementPortalPreferenceStatus_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateProcurementPortalPreferenceStatus-request-EinvoiceDeliveryPreferenceStatusReason"></a>
The reason for the e-invoice delivery preference status update, providing context for the change.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\s\S]*`   
Required: No

 ** [ProcurementPortalPreferenceArn](#API_invoicing_UpdateProcurementPortalPreferenceStatus_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateProcurementPortalPreferenceStatus-request-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the procurement portal preference to update.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+`   
Required: Yes

 ** [PurchaseOrderRetrievalPreferenceStatus](#API_invoicing_UpdateProcurementPortalPreferenceStatus_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateProcurementPortalPreferenceStatus-request-PurchaseOrderRetrievalPreferenceStatus"></a>
The updated status of the purchase order retrieval preference.  
Type: String  
Valid Values: `PENDING_VERIFICATION | TEST_INITIALIZED | TEST_INITIALIZATION_FAILED | TEST_FAILED | ACTIVE | SUSPENDED`   
Required: No

 ** [PurchaseOrderRetrievalPreferenceStatusReason](#API_invoicing_UpdateProcurementPortalPreferenceStatus_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateProcurementPortalPreferenceStatus-request-PurchaseOrderRetrievalPreferenceStatusReason"></a>
The reason for the purchase order retrieval preference status update, providing context for the change.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\s\S]*`   
Required: No

## Response Syntax


```
{
   "ProcurementPortalPreferenceArn": "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.

 ** [ProcurementPortalPreferenceArn](#API_invoicing_UpdateProcurementPortalPreferenceStatus_ResponseSyntax) **   <a name="awscostmanagement-invoicing_UpdateProcurementPortalPreferenceStatus-response-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the procurement portal preference with updated status.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** ConflictException **   
The request could not be completed due to a conflict with the current state of the resource. This exception occurs when a concurrent modification is detected during an update operation, or when attempting to create a resource that already exists.    
 ** resourceId **   
The identifier of the resource that caused the conflict.  
 ** resourceType **   
The type of resource that caused the conflict.
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
The request was rejected because it attempted to create resources beyond the current Amazon Web Services account limits. The error message describes the limit exceeded.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an Amazon Web Services service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 

# Amazon Price List


The following actions are supported by Amazon Price List:
+  [DescribeServices](API_pricing_DescribeServices.md) 
+  [GetAttributeValues](API_pricing_GetAttributeValues.md) 
+  [GetPriceListFileUrl](API_pricing_GetPriceListFileUrl.md) 
+  [GetProducts](API_pricing_GetProducts.md) 
+  [ListPriceLists](API_pricing_ListPriceLists.md) 

# DescribeServices


Returns the metadata for one service or a list of the metadata for all services. Use this without a service code to get the service codes for all services. Use it with a service code, such as `AmazonEC2`, to get information specific to that service, such as the attribute names available for that service. For example, some of the attribute names available for EC2 are `volumeType`, `maxIopsVolume`, `operation`, `locationType`, and `instanceCapacity10xlarge`.

## Request Syntax


```
{
   "FormatVersion": "string",
   "MaxResults": number,
   "NextToken": "string",
   "ServiceCode": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [FormatVersion](#API_pricing_DescribeServices_RequestSyntax) **   <a name="awscostmanagement-pricing_DescribeServices-request-FormatVersion"></a>
The format version that you want the response to be in.  
Valid values are: `aws_v1`   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 32.  
Required: No

 ** [MaxResults](#API_pricing_DescribeServices_RequestSyntax) **   <a name="awscostmanagement-pricing_DescribeServices-request-MaxResults"></a>
The maximum number of results that you want returned in the response.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextToken](#API_pricing_DescribeServices_RequestSyntax) **   <a name="awscostmanagement-pricing_DescribeServices-request-NextToken"></a>
The pagination token that indicates the next set of results that you want to retrieve.  
Type: String  
Required: No

 ** [ServiceCode](#API_pricing_DescribeServices_RequestSyntax) **   <a name="awscostmanagement-pricing_DescribeServices-request-ServiceCode"></a>
The code for the service whose information you want to retrieve, such as `AmazonEC2`. You can use the `ServiceCode` to filter the results in a `GetProducts` call. To retrieve a list of all services, leave this blank.  
Type: String  
Required: No

## Response Syntax


```
{
   "FormatVersion": "string",
   "NextToken": "string",
   "Services": [ 
      { 
         "AttributeNames": [ "string" ],
         "ServiceCode": "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.

 ** [FormatVersion](#API_pricing_DescribeServices_ResponseSyntax) **   <a name="awscostmanagement-pricing_DescribeServices-response-FormatVersion"></a>
The format version of the response. For example, `aws_v1`.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 32.

 ** [NextToken](#API_pricing_DescribeServices_ResponseSyntax) **   <a name="awscostmanagement-pricing_DescribeServices-response-NextToken"></a>
The pagination token for the next set of retrievable results.  
Type: String

 ** [Services](#API_pricing_DescribeServices_ResponseSyntax) **   <a name="awscostmanagement-pricing_DescribeServices-response-Services"></a>
The service metadata for the service or services in the response.  
Type: Array of [Service](API_pricing_Service.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
General authentication failure. The request wasn't signed correctly.  
HTTP Status Code: 400

 ** ExpiredNextTokenException **   
The pagination token expired. Try again without a pagination token.  
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** InvalidParameterException **   
One or more parameters had an invalid value.  
HTTP Status Code: 400

 ** NotFoundException **   
The requested resource can't be found.  
HTTP Status Code: 400

 ** ThrottlingException **   
You've made too many requests exceeding service quotas.   
HTTP Status Code: 400

## Examples


### The following is a sample request and response of the GetService operation.


This example illustrates one usage of DescribeServices.

#### Sample Request


```
POST / HTTP/1.1
Host: api.pricing.<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: AWSPriceListService.DescribeServices
{
    "ServiceCode": "AmazonEC2",
    "FormatVersion": "aws_v1",
    "NextToken": null,
    "MaxResults": 1
}
```

#### Sample Response


```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
    "FormatVersion": "aws_v1",
    "NextToken": "abcdefg123",
    "Services": [
        {
            "AttributeNames": [
                "volumeType",
                "maxIopsvolume",
                "instanceCapacity10xlarge",
                "locationType",
                "operation"
            ],
            "ServiceCode": "AmazonEC2"
        }
    ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/pricing-2017-10-15/DescribeServices) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/pricing-2017-10-15/DescribeServices) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/pricing-2017-10-15/DescribeServices) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/pricing-2017-10-15/DescribeServices) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/pricing-2017-10-15/DescribeServices) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/pricing-2017-10-15/DescribeServices) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/pricing-2017-10-15/DescribeServices) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/pricing-2017-10-15/DescribeServices) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/pricing-2017-10-15/DescribeServices) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/pricing-2017-10-15/DescribeServices) 

# GetAttributeValues


Returns a list of attribute values. Attributes are similar to the details in a Price List API offer file. For a list of available attributes, see [Offer File Definitions](https://docs.amazonaws.cn/awsaccountbilling/latest/aboutv2/reading-an-offer.html#pps-defs) in the [Amazon Billing and Cost Management User Guide](https://docs.amazonaws.cn/awsaccountbilling/latest/aboutv2/billing-what-is.html).

## Request Syntax


```
{
   "AttributeName": "string",
   "MaxResults": number,
   "NextToken": "string",
   "ServiceCode": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AttributeName](#API_pricing_GetAttributeValues_RequestSyntax) **   <a name="awscostmanagement-pricing_GetAttributeValues-request-AttributeName"></a>
The name of the attribute that you want to retrieve the values for, such as `volumeType`.  
Type: String  
Required: Yes

 ** [MaxResults](#API_pricing_GetAttributeValues_RequestSyntax) **   <a name="awscostmanagement-pricing_GetAttributeValues-request-MaxResults"></a>
The maximum number of results to return in response.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 10000.  
Required: No

 ** [NextToken](#API_pricing_GetAttributeValues_RequestSyntax) **   <a name="awscostmanagement-pricing_GetAttributeValues-request-NextToken"></a>
The pagination token that indicates the next set of results that you want to retrieve.  
Type: String  
Required: No

 ** [ServiceCode](#API_pricing_GetAttributeValues_RequestSyntax) **   <a name="awscostmanagement-pricing_GetAttributeValues-request-ServiceCode"></a>
The service code for the service whose attributes you want to retrieve. For example, if you want the retrieve an EC2 attribute, use `AmazonEC2`.  
Type: String  
Required: Yes

## Response Syntax


```
{
   "AttributeValues": [ 
      { 
         "Value": "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.

 ** [AttributeValues](#API_pricing_GetAttributeValues_ResponseSyntax) **   <a name="awscostmanagement-pricing_GetAttributeValues-response-AttributeValues"></a>
The list of values for an attribute. For example, `Throughput Optimized HDD` and `Provisioned IOPS` are two available values for the `AmazonEC2` `volumeType`.  
Type: Array of [AttributeValue](API_pricing_AttributeValue.md) objects

 ** [NextToken](#API_pricing_GetAttributeValues_ResponseSyntax) **   <a name="awscostmanagement-pricing_GetAttributeValues-response-NextToken"></a>
The pagination token that indicates the next set of results to retrieve.  
Type: String

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
General authentication failure. The request wasn't signed correctly.  
HTTP Status Code: 400

 ** ExpiredNextTokenException **   
The pagination token expired. Try again without a pagination token.  
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** InvalidParameterException **   
One or more parameters had an invalid value.  
HTTP Status Code: 400

 ** NotFoundException **   
The requested resource can't be found.  
HTTP Status Code: 400

 ** ThrottlingException **   
You've made too many requests exceeding service quotas.   
HTTP Status Code: 400

## Examples


### The following is a sample request and response of the GetAttributeValues operation.


This example illustrates one usage of GetAttributeValues.

#### Sample Request


```
POST / HTTP/1.1
Host: api.pricing.<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: AWSPriceListService.GetAttributeValues
{
    "ServiceCode": "AmazonEC2",
    "AttributeName": "volumeType",
    "NextToken": null,
    "MaxResults": 2
}
```

#### Sample Response


```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
    "AttributeValues": [
        {
            "Value": "Throughput Optimized HDD"
        },
        {
            "Value": "Provisioned IOPS"
        }
    ],
    "NextToken": "GpgauTGIY7LGezucl5LV0w==:7GzYJ0nw0DBTJ2J66EoTIIynE6O1uXwQtTRqioJzQadBnDVgHPzI1en4BUQnPCLpzeBk9RQQAWaFieA4+DapFAGLgk+Z/9/cTw9GldnPOHN98+FdmJP7wKU3QQpQ8MQr5KOeBkIsAqvAQYdL0DkL7tHwPtE5iCEByAmg9gcC/yBU1vAOsf7R3VaNN4M5jMDv3woSWqASSIlBVB6tgW78YL22KhssoItM/jWW+aP6Jqtq4mldxp/ct6DWAl+xLFwHU/CbketimPPXyqHF3/UXDw=="
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/pricing-2017-10-15/GetAttributeValues) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/pricing-2017-10-15/GetAttributeValues) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/pricing-2017-10-15/GetAttributeValues) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/pricing-2017-10-15/GetAttributeValues) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/pricing-2017-10-15/GetAttributeValues) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/pricing-2017-10-15/GetAttributeValues) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/pricing-2017-10-15/GetAttributeValues) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/pricing-2017-10-15/GetAttributeValues) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/pricing-2017-10-15/GetAttributeValues) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/pricing-2017-10-15/GetAttributeValues) 

# GetPriceListFileUrl


This returns the URL that you can retrieve your Price List file from. This URL is based on the `PriceListArn` and `FileFormat` that you retrieve from the [ListPriceLists](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html) response. 

## Request Syntax


```
{
   "FileFormat": "string",
   "PriceListArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [FileFormat](#API_pricing_GetPriceListFileUrl_RequestSyntax) **   <a name="awscostmanagement-pricing_GetPriceListFileUrl-request-FileFormat"></a>
The format that you want to retrieve your Price List files in. The `FileFormat` can be obtained from the [ListPriceLists](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html) response.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 255.  
Required: Yes

 ** [PriceListArn](#API_pricing_GetPriceListFileUrl_RequestSyntax) **   <a name="awscostmanagement-pricing_GetPriceListFileUrl-request-PriceListArn"></a>
The unique identifier that maps to where your Price List files are located. `PriceListArn` can be obtained from the [ListPriceLists](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html) response.   
Type: String  
Length Constraints: Minimum length of 18. Maximum length of 2048.  
Pattern: `arn:[A-Za-z0-9][-.A-Za-z0-9]{0,62}:pricing:::price-list/[A-Za-z0-9+_/.-]{1,1023}`   
Required: Yes

## Response Syntax


```
{
   "Url": "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.

 ** [Url](#API_pricing_GetPriceListFileUrl_ResponseSyntax) **   <a name="awscostmanagement-pricing_GetPriceListFileUrl-response-Url"></a>
The URL to download your Price List file from.   
Type: String

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
General authentication failure. The request wasn't signed correctly.  
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** InvalidParameterException **   
One or more parameters had an invalid value.  
HTTP Status Code: 400

 ** NotFoundException **   
The requested resource can't be found.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The requested resource can't be found.  
HTTP Status Code: 400

 ** ThrottlingException **   
You've made too many requests exceeding service quotas.   
HTTP Status Code: 400

## Examples


### The following is a sample request and response of the GetPriceListFileUrl operation.


This example illustrates one usage of GetPriceListFileUrl.

#### Sample Request


```
POST / HTTP/1.1
Host: api.pricing.<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: AWSPriceListService.GetPriceListFileUrl{
    "PriceListArn": "arn:aws-cn:pricing:::price-list/aws-cn/AmazonEC2/CNY/20230706181446/cn-north-1",
    "FileFormat": "json"
}
```

#### Sample Response


```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
    "Url": "https://pricing.cn-northwest-1.amazonaws.com.cn/offers/v1.0/cn/AmazonEC2/20230706181446/cn-north-1/index.json"
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/pricing-2017-10-15/GetPriceListFileUrl) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/pricing-2017-10-15/GetPriceListFileUrl) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/pricing-2017-10-15/GetPriceListFileUrl) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/pricing-2017-10-15/GetPriceListFileUrl) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/pricing-2017-10-15/GetPriceListFileUrl) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/pricing-2017-10-15/GetPriceListFileUrl) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/pricing-2017-10-15/GetPriceListFileUrl) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/pricing-2017-10-15/GetPriceListFileUrl) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/pricing-2017-10-15/GetPriceListFileUrl) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/pricing-2017-10-15/GetPriceListFileUrl) 

# GetProducts


Returns a list of all products that match the filter criteria.

## Request Syntax


```
{
   "Filters": [ 
      { 
         "Field": "string",
         "Type": "string",
         "Value": "string"
      }
   ],
   "FormatVersion": "string",
   "MaxResults": number,
   "NextToken": "string",
   "ServiceCode": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Filters](#API_pricing_GetProducts_RequestSyntax) **   <a name="awscostmanagement-pricing_GetProducts-request-Filters"></a>
The list of filters that limit the returned products. only products that match all filters are returned.  
Type: Array of [Filter](API_pricing_Filter.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 50 items.  
Required: No

 ** [FormatVersion](#API_pricing_GetProducts_RequestSyntax) **   <a name="awscostmanagement-pricing_GetProducts-request-FormatVersion"></a>
The format version that you want the response to be in.  
Valid values are: `aws_v1`   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 32.  
Required: No

 ** [MaxResults](#API_pricing_GetProducts_RequestSyntax) **   <a name="awscostmanagement-pricing_GetProducts-request-MaxResults"></a>
The maximum number of results to return in the response.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextToken](#API_pricing_GetProducts_RequestSyntax) **   <a name="awscostmanagement-pricing_GetProducts-request-NextToken"></a>
The pagination token that indicates the next set of results that you want to retrieve.  
Type: String  
Required: No

 ** [ServiceCode](#API_pricing_GetProducts_RequestSyntax) **   <a name="awscostmanagement-pricing_GetProducts-request-ServiceCode"></a>
The code for the service whose products you want to retrieve.   
Type: String  
Required: Yes

## Response Syntax


```
{
   "FormatVersion": "string",
   "NextToken": "string",
   "PriceList": [ "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.

 ** [FormatVersion](#API_pricing_GetProducts_ResponseSyntax) **   <a name="awscostmanagement-pricing_GetProducts-response-FormatVersion"></a>
The format version of the response. For example, aws\$1v1.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 32.

 ** [NextToken](#API_pricing_GetProducts_ResponseSyntax) **   <a name="awscostmanagement-pricing_GetProducts-response-NextToken"></a>
The pagination token that indicates the next set of results to retrieve.  
Type: String

 ** [PriceList](#API_pricing_GetProducts_ResponseSyntax) **   <a name="awscostmanagement-pricing_GetProducts-response-PriceList"></a>
The list of products that match your filters. The list contains both the product metadata and the price information.  
Type: Array of strings

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
General authentication failure. The request wasn't signed correctly.  
HTTP Status Code: 400

 ** ExpiredNextTokenException **   
The pagination token expired. Try again without a pagination token.  
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** InvalidParameterException **   
One or more parameters had an invalid value.  
HTTP Status Code: 400

 ** NotFoundException **   
The requested resource can't be found.  
HTTP Status Code: 400

 ** ThrottlingException **   
You've made too many requests exceeding service quotas.   
HTTP Status Code: 400

## Examples


### The following is a sample request and response of the GetProducts operation.


This example illustrates one usage of GetProducts.

#### Sample Request


```
POST / HTTP/1.1
Host: api.pricing.<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: AWSPriceListService.GetProducts
{
    "Filters": [
        {
            "Type": "TERM_MATCH",
            "Field": "ServiceCode",
            "Value": "AmazonEC2"
        },
        {
            "Type": "TERM_MATCH",
            "Field": "volumeType",
            "Value": "Provisioned IOPS"
        }
    ],
    "FormatVersion": "aws_v1",
    "NextToken": null,
    "MaxResults": 1,
    "ServiceCode":"AmazonEC2"
}
```

#### Sample Response


```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
    "FormatVersion": "aws_v1",
    "NextToken": "57r3UcqRjDujbzWfHF7Ciw==:ywSmZsD3mtpQmQLQ5XfOsIMkYybSj+vAT+kGmwMFq+K9DGmIoJkz7lunVeamiOPgthdWSO2a7YKojCO+zY4dJmuNl2QvbNhXs+AJ2Ufn7xGmJncNI2TsEuAsVCUfTAvAQNcwwamtk6XuZ4YdNnooV62FjkV3ZAn40d9+wAxV7+FImvhUHi/+f8afgZdGh2zPUlH8jlV9uUtj0oHp8+DhPUuHXh+WBII1E/aoKpPSm3c=",
    "PriceList": [
        "{\"product\":{\"productFamily\":\"Storage\",\"attributes\":{\"storageMedia\":\"SSD-backed\",\"maxThroughputvolume\":\"320 MB/sec\",\"volumeType\":\"Provisioned IOPS\",\"maxIopsvolume\":\"20000\",\"servicecode\":\"AmazonEC2\",\"usagetype\":\"CAN1-EBS:VolumeUsage.piops\",\"locationType\":\"AWS Region\",\"location\":\"Canada (Central)\",\"servicename\":\"Amazon Elastic Compute Cloud\",\"maxVolumeSize\":\"16 TiB\",\"operation\":\"\"},\"sku\":\"WQGC34PB2AWS8R4U\"},\"serviceCode\":\"AmazonEC2\",\"terms\":{\"OnDemand\":{\"WQGC34PB2AWS8R4U.JRTCKXETXF\":{\"priceDimensions\":{\"WQGC34PB2AWS8R4U.JRTCKXETXF.6YS6EN2CT7\":{\"unit\":\"GB-Mo\",\"endRange\":\"Inf\",\"description\":\"$0.138 per GB-month of Provisioned IOPS SSD (io1)  provisioned storage - Canada (Central)\",\"appliesTo\":[],\"rateCode\":\"WQGC34PB2AWS8R4U.JRTCKXETXF.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.1380000000\"}}},\"sku\":\"WQGC34PB2AWS8R4U\",\"effectiveDate\":\"2017-08-01T00:00:00Z\",\"offerTermCode\":\"JRTCKXETXF\",\"termAttributes\":{}}}},\"version\":\"20170901182201\",\"publicationDate\":\"2017-09-01T18:22:01Z\"}"
    ]
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/pricing-2017-10-15/GetProducts) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/pricing-2017-10-15/GetProducts) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/pricing-2017-10-15/GetProducts) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/pricing-2017-10-15/GetProducts) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/pricing-2017-10-15/GetProducts) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/pricing-2017-10-15/GetProducts) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/pricing-2017-10-15/GetProducts) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/pricing-2017-10-15/GetProducts) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/pricing-2017-10-15/GetProducts) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/pricing-2017-10-15/GetProducts) 

# ListPriceLists


This returns a list of Price List references that the requester if authorized to view, given a `ServiceCode`, `CurrencyCode`, and an `EffectiveDate`. Use without a `RegionCode` filter to list Price List references from all available Amazon Regions. Use with a `RegionCode` filter to get the Price List reference that's specific to a specific Amazon Region. You can use the `PriceListArn` from the response to get your preferred Price List files through the [GetPriceListFileUrl](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_pricing_GetPriceListFileUrl.html) API.

## Request Syntax


```
{
   "CurrencyCode": "string",
   "EffectiveDate": number,
   "MaxResults": number,
   "NextToken": "string",
   "RegionCode": "string",
   "ServiceCode": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [CurrencyCode](#API_pricing_ListPriceLists_RequestSyntax) **   <a name="awscostmanagement-pricing_ListPriceLists-request-CurrencyCode"></a>
The three alphabetical character ISO-4217 currency code that the Price List files are denominated in.   
Type: String  
Pattern: `[A-Z]{3}`   
Required: Yes

 ** [EffectiveDate](#API_pricing_ListPriceLists_RequestSyntax) **   <a name="awscostmanagement-pricing_ListPriceLists-request-EffectiveDate"></a>
The date that the Price List file prices are effective from.   
Type: Timestamp  
Required: Yes

 ** [MaxResults](#API_pricing_ListPriceLists_RequestSyntax) **   <a name="awscostmanagement-pricing_ListPriceLists-request-MaxResults"></a>
The maximum number of results to return in the response.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextToken](#API_pricing_ListPriceLists_RequestSyntax) **   <a name="awscostmanagement-pricing_ListPriceLists-request-NextToken"></a>
The pagination token that indicates the next set of results that you want to retrieve.   
Type: String  
Required: No

 ** [RegionCode](#API_pricing_ListPriceLists_RequestSyntax) **   <a name="awscostmanagement-pricing_ListPriceLists-request-RegionCode"></a>
This is used to filter the Price List by Amazon Region. For example, to get the price list only for the `US East (N. Virginia)` Region, use `us-east-1`. If nothing is specified, you retrieve price lists for all applicable Regions. The available `RegionCode` list can be retrieved from [GetAttributeValues](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_pricing_GetAttributeValues.html) API.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 255.  
Required: No

 ** [ServiceCode](#API_pricing_ListPriceLists_RequestSyntax) **   <a name="awscostmanagement-pricing_ListPriceLists-request-ServiceCode"></a>
The service code or the Savings Plans service code for the attributes that you want to retrieve. For example, to get the list of applicable Amazon EC2 price lists, use `AmazonEC2`. For a full list of service codes containing On-Demand and Reserved Instance (RI) pricing, use the [DescribeServices](https://docs.amazonaws.cn/aws-cost-management/latest/APIReference/API_pricing_DescribeServices.html#awscostmanagement-pricing_DescribeServices-request-FormatVersion) API.  
To retrieve the Reserved Instance and Compute Savings Plans price lists, use `ComputeSavingsPlans`.   
To retrieve Machine Learning Savings Plans price lists, use `MachineLearningSavingsPlans`.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 32.  
Required: Yes

## Response Syntax


```
{
   "NextToken": "string",
   "PriceLists": [ 
      { 
         "CurrencyCode": "string",
         "FileFormats": [ "string" ],
         "PriceListArn": "string",
         "RegionCode": "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.

 ** [NextToken](#API_pricing_ListPriceLists_ResponseSyntax) **   <a name="awscostmanagement-pricing_ListPriceLists-response-NextToken"></a>
The pagination token that indicates the next set of results to retrieve.   
Type: String

 ** [PriceLists](#API_pricing_ListPriceLists_ResponseSyntax) **   <a name="awscostmanagement-pricing_ListPriceLists-response-PriceLists"></a>
The type of price list references that match your request.   
Type: Array of [PriceList](API_pricing_PriceList.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
General authentication failure. The request wasn't signed correctly.  
HTTP Status Code: 400

 ** ExpiredNextTokenException **   
The pagination token expired. Try again without a pagination token.  
HTTP Status Code: 400

 ** InternalErrorException **   
An error on the server occurred during the processing of your request. Try again later.  
HTTP Status Code: 500

 ** InvalidNextTokenException **   
The pagination token is invalid. Try again without a pagination token.  
HTTP Status Code: 400

 ** InvalidParameterException **   
One or more parameters had an invalid value.  
HTTP Status Code: 400

 ** NotFoundException **   
The requested resource can't be found.  
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The requested resource can't be found.  
HTTP Status Code: 400

 ** ThrottlingException **   
You've made too many requests exceeding service quotas.   
HTTP Status Code: 400

## Examples


### The following is a sample request and response of the ListPriceLists operation.


This example illustrates one usage of ListPriceLists.

#### Sample Request


```
POST / HTTP/1.1
Host: api.pricing.<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: AWSPriceListService.ListPriceLists{
    "ServiceCode": "AmazonEC2",
    "EffectiveDate": 1682899200,
    "CurrencyCode": "CNY",
    "RegionCode": "cn-north-1",
    "NextToken": null,
    "MaxResults": 10
}
```

#### Sample Response


```
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>{
    "PriceLists": [
        {
            "PriceListArn": "arn:aws-cn:pricing:::price-list/aws-cn/AmazonEC2/CNY/20230706181446/cn-north-1",
            "RegionCode": "cn-north-1",
            "CurrencyCode": "CNY",
            "FileFormats": [
                "json",
                "csv"
            ]
        }
    ],
    "NextToken": "abcdefg123"
}
```

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/pricing-2017-10-15/ListPriceLists) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/pricing-2017-10-15/ListPriceLists) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/pricing-2017-10-15/ListPriceLists) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/pricing-2017-10-15/ListPriceLists) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/pricing-2017-10-15/ListPriceLists) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/pricing-2017-10-15/ListPriceLists) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/pricing-2017-10-15/ListPriceLists) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/pricing-2017-10-15/ListPriceLists) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/pricing-2017-10-15/ListPriceLists) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/pricing-2017-10-15/ListPriceLists) 

# Tax Settings


The following actions are supported by Tax Settings:
+  [BatchDeleteTaxRegistration](API_taxSettings_BatchDeleteTaxRegistration.md) 
+  [BatchGetTaxExemptions](API_taxSettings_BatchGetTaxExemptions.md) 
+  [BatchPutTaxRegistration](API_taxSettings_BatchPutTaxRegistration.md) 
+  [DeleteSupplementalTaxRegistration](API_taxSettings_DeleteSupplementalTaxRegistration.md) 
+  [DeleteTaxRegistration](API_taxSettings_DeleteTaxRegistration.md) 
+  [GetTaxExemptionTypes](API_taxSettings_GetTaxExemptionTypes.md) 
+  [GetTaxInheritance](API_taxSettings_GetTaxInheritance.md) 
+  [GetTaxRegistration](API_taxSettings_GetTaxRegistration.md) 
+  [GetTaxRegistrationDocument](API_taxSettings_GetTaxRegistrationDocument.md) 
+  [ListSupplementalTaxRegistrations](API_taxSettings_ListSupplementalTaxRegistrations.md) 
+  [ListTaxExemptions](API_taxSettings_ListTaxExemptions.md) 
+  [ListTaxRegistrations](API_taxSettings_ListTaxRegistrations.md) 
+  [PutSupplementalTaxRegistration](API_taxSettings_PutSupplementalTaxRegistration.md) 
+  [PutTaxExemption](API_taxSettings_PutTaxExemption.md) 
+  [PutTaxInheritance](API_taxSettings_PutTaxInheritance.md) 
+  [PutTaxRegistration](API_taxSettings_PutTaxRegistration.md) 

# BatchDeleteTaxRegistration


Deletes tax registration for multiple accounts in batch. This can be used to delete tax registrations for up to five accounts in one batch. 

**Note**  
This API operation can't be used to delete your tax registration in Brazil. Use the [Payment preferences](https://console.amazonaws.cn/billing/home#/paymentpreferences/paymentmethods) page in the Amazon Billing and Cost Management console instead.

## Request Syntax


```
POST /BatchDeleteTaxRegistration HTTP/1.1
Content-type: application/json

{
   "accountIds": [ "string" ]
}
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request accepts the following data in JSON format.

 ** [accountIds](#API_taxSettings_BatchDeleteTaxRegistration_RequestSyntax) **   <a name="awscostmanagement-taxSettings_BatchDeleteTaxRegistration-request-accountIds"></a>
List of unique account identifiers.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 5 items.  
Length Constraints: Fixed length of 12.  
Pattern: `\d+`   
Required: Yes

## Response Syntax


```
HTTP/1.1 200
Content-type: application/json

{
   "errors": [ 
      { 
         "accountId": "string",
         "code": "string",
         "message": "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](#API_taxSettings_BatchDeleteTaxRegistration_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_BatchDeleteTaxRegistration-response-errors"></a>
The list of errors for the accounts the TRN information could not be deleted for.   
Type: Array of [BatchDeleteTaxRegistrationError](API_taxSettings_BatchDeleteTaxRegistrationError.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** ConflictException **   
The exception when the input is creating conflict with the given state.    
 ** errorCode **   
409
HTTP Status Code: 409

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/BatchDeleteTaxRegistration) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/BatchDeleteTaxRegistration) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/BatchDeleteTaxRegistration) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/BatchDeleteTaxRegistration) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/BatchDeleteTaxRegistration) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/BatchDeleteTaxRegistration) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/BatchDeleteTaxRegistration) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/BatchDeleteTaxRegistration) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/BatchDeleteTaxRegistration) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/BatchDeleteTaxRegistration) 

# BatchGetTaxExemptions


Get the active tax exemptions for a given list of accounts. The IAM action is `tax:GetExemptions`. 

## Request Syntax


```
POST /BatchGetTaxExemptions HTTP/1.1
Content-type: application/json

{
   "accountIds": [ "string" ]
}
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request accepts the following data in JSON format.

 ** [accountIds](#API_taxSettings_BatchGetTaxExemptions_RequestSyntax) **   <a name="awscostmanagement-taxSettings_BatchGetTaxExemptions-request-accountIds"></a>
 List of unique account identifiers.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 5 items.  
Length Constraints: Fixed length of 12.  
Pattern: `\d+`   
Required: Yes

## Response Syntax


```
HTTP/1.1 200
Content-type: application/json

{
   "failedAccounts": [ "string" ],
   "taxExemptionDetailsMap": { 
      "string" : { 
         "heritageObtainedDetails": boolean,
         "heritageObtainedParentEntity": "string",
         "heritageObtainedReason": "string",
         "taxExemptions": [ 
            { 
               "authority": { 
                  "country": "string",
                  "state": "string"
               },
               "effectiveDate": number,
               "expirationDate": number,
               "status": "string",
               "systemEffectiveDate": number,
               "taxExemptionType": { 
                  "applicableJurisdictions": [ 
                     { 
                        "country": "string",
                        "state": "string"
                     }
                  ],
                  "description": "string",
                  "displayName": "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.

 ** [failedAccounts](#API_taxSettings_BatchGetTaxExemptions_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_BatchGetTaxExemptions-response-failedAccounts"></a>
The list of accounts that failed to get tax exemptions.   
Type: Array of strings  
Length Constraints: Fixed length of 12.  
Pattern: `\d+` 

 ** [taxExemptionDetailsMap](#API_taxSettings_BatchGetTaxExemptions_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_BatchGetTaxExemptions-response-taxExemptionDetailsMap"></a>
The tax exemption details map of accountId and tax exemption details.   
Type: String to [TaxExemptionDetails](API_taxSettings_TaxExemptionDetails.md) object map  
Key Length Constraints: Fixed length of 12.  
Key Pattern: `\d+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The exception thrown when the input doesn't have a resource associated to it.    
 ** errorCode **   
404
HTTP Status Code: 404

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/BatchGetTaxExemptions) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/BatchGetTaxExemptions) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/BatchGetTaxExemptions) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/BatchGetTaxExemptions) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/BatchGetTaxExemptions) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/BatchGetTaxExemptions) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/BatchGetTaxExemptions) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/BatchGetTaxExemptions) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/BatchGetTaxExemptions) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/BatchGetTaxExemptions) 

# BatchPutTaxRegistration


Adds or updates tax registration for multiple accounts in batch. This can be used to add or update tax registrations for up to five accounts in one batch. You can't set a TRN if there's a pending TRN. You'll need to delete the pending TRN first.

To call this API operation for specific countries, see the following country-specific requirements.

 **Bangladesh** 
+ You must specify the tax registration certificate document in the `taxRegistrationDocuments` field of the `VerificationDetails` object.

 **Brazil** 
+ You must complete the tax registration process in the [Payment preferences](https://console.amazonaws.cn/billing/home#/paymentpreferences/paymentmethods) page in the Amazon Billing and Cost Management console. After your TRN and billing address are verified, you can call this API operation.
+ For Amazon Web Services accounts created through Amazon Organizations, you can call this API operation when you don't have a billing address.

 **Georgia** 
+ The valid `personType` values are `Physical Person` and `Business`.

 **Indonesia** 
+  `PutTaxRegistration`: The use of this operation to submit tax information is subject to the [Amazon Web Services service terms](http://www.amazonaws.cn/service-terms/). By submitting, you’re providing consent for Amazon to validate NIK, NPWP, and NITKU data, provided by you with the Directorate General of Taxes of Indonesia in accordance with the Minister of Finance Regulation (PMK) Number 112/PMK.03/2022.
+  `BatchPutTaxRegistration`: The use of this operation to submit tax information is subject to the [Amazon Web Services service terms](http://www.amazonaws.cn/service-terms/). By submitting, you’re providing consent for Amazon to validate NIK, NPWP, and NITKU data, provided by you with the Directorate General of Taxes of Indonesia in accordance with the Minister of Finance Regulation (PMK) Number 112/PMK.03/2022, through our third-party partner PT Achilles Advanced Management (OnlinePajak).
+ You must specify the `taxRegistrationNumberType` in the `indonesiaAdditionalInfo` field of the `additionalTaxInformation` object.
+ If you specify `decisionNumber`, you must specify the `ppnExceptionDesignationCode` in the `indonesiaAdditionalInfo` field of the `additionalTaxInformation` object. If the `taxRegistrationNumberType` is set to NPWP or NITKU, valid values for `ppnExceptionDesignationCode` are either `01`, `02`, `03`, `07`, or `08`.

  For other `taxRegistrationNumberType` values, `ppnExceptionDesignationCode` must be either `01`, `07`, or `08`.
+ If `ppnExceptionDesignationCode` is `07` or `08`, you must specify the `decisionNumber` in the `indonesiaAdditionalInfo` field of the `additionalTaxInformation` object.

 **Kenya** 
+ You must specify the `personType` in the `kenyaAdditionalInfo` field of the `additionalTaxInformation` object.
+ If the `personType` is `Physical Person`, you must specify the tax registration certificate document in the `taxRegistrationDocuments` field of the `VerificationDetails` object.

 **Malaysia** 
+ The sector valid values are `Business` and `Individual`.
+  `RegistrationType` valid values are `NRIC` for individual, and TIN and sales and service tax (SST) for Business.
+ For individual, you can specify the `taxInformationNumber` in `MalaysiaAdditionalInfo` with NRIC type, and a valid `MyKad` or NRIC number.
+ For business, you must specify a `businessRegistrationNumber` in `MalaysiaAdditionalInfo` with a TIN type and tax identification number.
+ For business resellers, you must specify a `businessRegistrationNumber` and `taxInformationNumber` in `MalaysiaAdditionalInfo` with a sales and service tax (SST) type and a valid SST number.
+ For business resellers with service codes, you must specify `businessRegistrationNumber`, `taxInformationNumber`, and distinct `serviceTaxCodes` in `MalaysiaAdditionalInfo` with a SST type and valid sales and service tax (SST) number. By using this API operation, Amazon registers your self-declaration that you’re an authorized business reseller registered with the Royal Malaysia Customs Department (RMCD), and have a valid SST number.
+  Amazon reserves the right to seek additional information and/or take other actions to support your self-declaration as appropriate.
+  Amazon is currently registered under the following service tax codes. You must include at least one of the service tax codes in the service tax code strings to declare yourself as an authorized registered business reseller.

  Taxable service and service tax codes:

  Consultancy - 9907061674

  Training or coaching service - 9907071685

  IT service - 9907101676

  Digital services and electronic medium - 9907121690

 **Mexico** 
+ You must provide a Constancia de Situación fiscal (CSF) document in the **verificationDetails** field.
+ You do not need to provide address and legal name. These will be populated based on your tax registration number.

 **Nepal** 
+ The sector valid values are `Business` and `Individual`.

 **Saudi Arabia** 
+ For `address`, you must specify `addressLine3`.

 **South Korea** 
+ You must specify the `certifiedEmailId` and `legalName` in the `TaxRegistrationEntry` object. Use Korean characters for `legalName`.
+ You must specify the `businessRepresentativeName`, `itemOfBusiness`, and `lineOfBusiness` in the `southKoreaAdditionalInfo` field of the `additionalTaxInformation` object. Use Korean characters for these fields.
+ You must specify the tax registration certificate document in the `taxRegistrationDocuments` field of the `VerificationDetails` object.
+ For the `address` object, use Korean characters for `addressLine1`, `addressLine2` `city`, `postalCode`, and `stateOrRegion`.

 **Spain** 
+ You must specify the `registrationType` in the `spainAdditionalInfo` field of the `additionalTaxInformation` object.
+ If the `registrationType` is `Local`, you must specify the tax registration certificate document in the `taxRegistrationDocuments` field of the `VerificationDetails` object.

 **Turkey** 
+ You must specify the `sector` in the `taxRegistrationEntry` object.
+ If your `sector` is `Business`, `Individual`, or `Government`:
  + Specify the `taxOffice`. If your `sector` is `Individual`, don't enter this value.
  + (Optional) Specify the `kepEmailId`. If your `sector` is `Individual`, don't enter this value.
  +  **Note:** In the **Tax Settings** page of the Amazon Billing console, `Government` appears as **Public institutions** 
+ If your `sector` is `Business` and you're subject to KDV tax, you must specify your industry in the `industries` field.
+ For `address`, you must specify `districtOrCounty`.

 **Ukraine** 
+ The sector valid values are `Business` and `Individual`.

## Request Syntax


```
POST /BatchPutTaxRegistration HTTP/1.1
Content-type: application/json

{
   "accountIds": [ "string" ],
   "taxRegistrationEntry": { 
      "additionalTaxInformation": { 
         "canadaAdditionalInfo": { 
            "canadaQuebecSalesTaxNumber": "string",
            "canadaRetailSalesTaxNumber": "string",
            "isResellerAccount": boolean,
            "provincialSalesTaxId": "string"
         },
         "egyptAdditionalInfo": { 
            "uniqueIdentificationNumber": "string",
            "uniqueIdentificationNumberExpirationDate": "string"
         },
         "estoniaAdditionalInfo": { 
            "registryCommercialCode": "string"
         },
         "georgiaAdditionalInfo": { 
            "personType": "string"
         },
         "greeceAdditionalInfo": { 
            "contractingAuthorityCode": "string"
         },
         "indonesiaAdditionalInfo": { 
            "decisionNumber": "string",
            "ppnExceptionDesignationCode": "string",
            "taxRegistrationNumberType": "string"
         },
         "israelAdditionalInfo": { 
            "customerType": "string",
            "dealerType": "string"
         },
         "italyAdditionalInfo": { 
            "cigNumber": "string",
            "cupNumber": "string",
            "sdiAccountId": "string",
            "taxCode": "string"
         },
         "kenyaAdditionalInfo": { 
            "personType": "string"
         },
         "malaysiaAdditionalInfo": { 
            "businessRegistrationNumber": "string",
            "serviceTaxCodes": [ "string" ],
            "taxInformationNumber": "string"
         },
         "polandAdditionalInfo": { 
            "individualRegistrationNumber": "string",
            "isGroupVatEnabled": boolean
         },
         "romaniaAdditionalInfo": { 
            "taxRegistrationNumberType": "string"
         },
         "saudiArabiaAdditionalInfo": { 
            "taxRegistrationNumberType": "string"
         },
         "southKoreaAdditionalInfo": { 
            "businessRepresentativeName": "string",
            "itemOfBusiness": "string",
            "lineOfBusiness": "string"
         },
         "spainAdditionalInfo": { 
            "registrationType": "string"
         },
         "turkeyAdditionalInfo": { 
            "industries": "string",
            "kepEmailId": "string",
            "secondaryTaxId": "string",
            "taxOffice": "string"
         },
         "ukraineAdditionalInfo": { 
            "ukraineTrnType": "string"
         },
         "uzbekistanAdditionalInfo": { 
            "taxRegistrationNumberType": "string",
            "vatRegistrationNumber": "string"
         },
         "vietnamAdditionalInfo": { 
            "electronicTransactionCodeNumber": "string",
            "enterpriseIdentificationNumber": "string",
            "paymentVoucherNumber": "string",
            "paymentVoucherNumberDate": "string"
         }
      },
      "certifiedEmailId": "string",
      "legalAddress": { 
         "addressLine1": "string",
         "addressLine2": "string",
         "addressLine3": "string",
         "city": "string",
         "countryCode": "string",
         "districtOrCounty": "string",
         "postalCode": "string",
         "stateOrRegion": "string"
      },
      "legalName": "string",
      "registrationId": "string",
      "registrationType": "string",
      "sector": "string",
      "verificationDetails": { 
         "dateOfBirth": "string",
         "taxRegistrationDocuments": [ 
            { 
               "file": { 
                  "fileContent": blob,
                  "fileName": "string"
               },
               "s3Location": { 
                  "bucket": "string",
                  "key": "string"
               }
            }
         ]
      }
   }
}
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request accepts the following data in JSON format.

 ** [accountIds](#API_taxSettings_BatchPutTaxRegistration_RequestSyntax) **   <a name="awscostmanagement-taxSettings_BatchPutTaxRegistration-request-accountIds"></a>
 List of unique account identifiers.  
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 550 items.  
Length Constraints: Fixed length of 12.  
Pattern: `\d+`   
Required: Yes

 ** [taxRegistrationEntry](#API_taxSettings_BatchPutTaxRegistration_RequestSyntax) **   <a name="awscostmanagement-taxSettings_BatchPutTaxRegistration-request-taxRegistrationEntry"></a>
Your TRN information that will be stored to the accounts mentioned in `putEntries`.   
Type: [TaxRegistrationEntry](API_taxSettings_TaxRegistrationEntry.md) object  
Required: Yes

## Response Syntax


```
HTTP/1.1 200
Content-type: application/json

{
   "errors": [ 
      { 
         "accountId": "string",
         "code": "string",
         "message": "string"
      }
   ],
   "status": "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](#API_taxSettings_BatchPutTaxRegistration_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_BatchPutTaxRegistration-response-errors"></a>
List of errors for the accounts the TRN information could not be added or updated to.   
Type: Array of [BatchPutTaxRegistrationError](API_taxSettings_BatchPutTaxRegistrationError.md) objects

 ** [status](#API_taxSettings_BatchPutTaxRegistration_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_BatchPutTaxRegistration-response-status"></a>
The status of your TRN stored in the system after processing. Based on the validation occurring on the TRN, the status can be `Verified`, `Pending` or `Rejected`.   
Type: String  
Valid Values: `Verified | Pending | Deleted | Rejected` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** ConflictException **   
The exception when the input is creating conflict with the given state.    
 ** errorCode **   
409
HTTP Status Code: 409

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/BatchPutTaxRegistration) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/BatchPutTaxRegistration) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/BatchPutTaxRegistration) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/BatchPutTaxRegistration) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/BatchPutTaxRegistration) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/BatchPutTaxRegistration) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/BatchPutTaxRegistration) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/BatchPutTaxRegistration) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/BatchPutTaxRegistration) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/BatchPutTaxRegistration) 

# DeleteSupplementalTaxRegistration


 Deletes a supplemental tax registration for a single account. 

## Request Syntax


```
POST /DeleteSupplementalTaxRegistration HTTP/1.1
Content-type: application/json

{
   "authorityId": "string"
}
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request accepts the following data in JSON format.

 ** [authorityId](#API_taxSettings_DeleteSupplementalTaxRegistration_RequestSyntax) **   <a name="awscostmanagement-taxSettings_DeleteSupplementalTaxRegistration-request-authorityId"></a>
 The unique authority Id for the supplemental TRN information that needs to be deleted.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 200.  
Pattern: `[\s\S]*`   
Required: Yes

## Response Syntax


```
HTTP/1.1 200
```

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** ConflictException **   
The exception when the input is creating conflict with the given state.    
 ** errorCode **   
409
HTTP Status Code: 409

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The exception thrown when the input doesn't have a resource associated to it.    
 ** errorCode **   
404
HTTP Status Code: 404

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/DeleteSupplementalTaxRegistration) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/DeleteSupplementalTaxRegistration) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/DeleteSupplementalTaxRegistration) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/DeleteSupplementalTaxRegistration) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/DeleteSupplementalTaxRegistration) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/DeleteSupplementalTaxRegistration) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/DeleteSupplementalTaxRegistration) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/DeleteSupplementalTaxRegistration) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/DeleteSupplementalTaxRegistration) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/DeleteSupplementalTaxRegistration) 

# DeleteTaxRegistration


Deletes tax registration for a single account. 

**Note**  
This API operation can't be used to delete your tax registration in Brazil. Use the [Payment preferences](https://console.amazonaws.cn/billing/home#/paymentpreferences/paymentmethods) page in the Amazon Billing and Cost Management console instead.

## Request Syntax


```
POST /DeleteTaxRegistration HTTP/1.1
Content-type: application/json

{
   "accountId": "string"
}
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request accepts the following data in JSON format.

 ** [accountId](#API_taxSettings_DeleteTaxRegistration_RequestSyntax) **   <a name="awscostmanagement-taxSettings_DeleteTaxRegistration-request-accountId"></a>
Unique account identifier for the TRN information that needs to be deleted. If this isn't passed, the account ID corresponding to the credentials of the API caller will be used for this parameter.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d+`   
Required: No

## Response Syntax


```
HTTP/1.1 200
```

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** ConflictException **   
The exception when the input is creating conflict with the given state.    
 ** errorCode **   
409
HTTP Status Code: 409

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The exception thrown when the input doesn't have a resource associated to it.    
 ** errorCode **   
404
HTTP Status Code: 404

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/DeleteTaxRegistration) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/DeleteTaxRegistration) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/DeleteTaxRegistration) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/DeleteTaxRegistration) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/DeleteTaxRegistration) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/DeleteTaxRegistration) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/DeleteTaxRegistration) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/DeleteTaxRegistration) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/DeleteTaxRegistration) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/DeleteTaxRegistration) 

# GetTaxExemptionTypes


Get supported tax exemption types. The IAM action is `tax:GetExemptions`. 

## Request Syntax


```
POST /GetTaxExemptionTypes HTTP/1.1
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request does not have a request body.

## Response Syntax


```
HTTP/1.1 200
Content-type: application/json

{
   "taxExemptionTypes": [ 
      { 
         "applicableJurisdictions": [ 
            { 
               "country": "string",
               "state": "string"
            }
         ],
         "description": "string",
         "displayName": "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.

 ** [taxExemptionTypes](#API_taxSettings_GetTaxExemptionTypes_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_GetTaxExemptionTypes-response-taxExemptionTypes"></a>
The supported types of tax exemptions.   
Type: Array of [TaxExemptionType](API_taxSettings_TaxExemptionType.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The exception thrown when the input doesn't have a resource associated to it.    
 ** errorCode **   
404
HTTP Status Code: 404

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/GetTaxExemptionTypes) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/GetTaxExemptionTypes) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/GetTaxExemptionTypes) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/GetTaxExemptionTypes) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/GetTaxExemptionTypes) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/GetTaxExemptionTypes) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/GetTaxExemptionTypes) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/GetTaxExemptionTypes) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/GetTaxExemptionTypes) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/GetTaxExemptionTypes) 

# GetTaxInheritance


The get account tax inheritance status. 

## Request Syntax


```
POST /GetTaxInheritance HTTP/1.1
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request does not have a request body.

## Response Syntax


```
HTTP/1.1 200
Content-type: application/json

{
   "heritageStatus": "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.

 ** [heritageStatus](#API_taxSettings_GetTaxInheritance_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_GetTaxInheritance-response-heritageStatus"></a>
The tax inheritance status.   
Type: String  
Valid Values: `OptIn | OptOut` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The exception thrown when the input doesn't have a resource associated to it.    
 ** errorCode **   
404
HTTP Status Code: 404

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/GetTaxInheritance) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/GetTaxInheritance) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/GetTaxInheritance) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/GetTaxInheritance) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/GetTaxInheritance) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/GetTaxInheritance) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/GetTaxInheritance) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/GetTaxInheritance) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/GetTaxInheritance) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/GetTaxInheritance) 

# GetTaxRegistration


Retrieves tax registration for a single account.

## Request Syntax


```
POST /GetTaxRegistration HTTP/1.1
Content-type: application/json

{
   "accountId": "string"
}
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request accepts the following data in JSON format.

 ** [accountId](#API_taxSettings_GetTaxRegistration_RequestSyntax) **   <a name="awscostmanagement-taxSettings_GetTaxRegistration-request-accountId"></a>
Your unique account identifier.  
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d+`   
Required: No

## Response Syntax


```
HTTP/1.1 200
Content-type: application/json

{
   "taxRegistration": { 
      "additionalTaxInformation": { 
         "brazilAdditionalInfo": { 
            "ccmCode": "string",
            "legalNatureCode": "string"
         },
         "canadaAdditionalInfo": { 
            "canadaQuebecSalesTaxNumber": "string",
            "canadaRetailSalesTaxNumber": "string",
            "isResellerAccount": boolean,
            "provincialSalesTaxId": "string"
         },
         "egyptAdditionalInfo": { 
            "uniqueIdentificationNumber": "string",
            "uniqueIdentificationNumberExpirationDate": "string"
         },
         "estoniaAdditionalInfo": { 
            "registryCommercialCode": "string"
         },
         "georgiaAdditionalInfo": { 
            "personType": "string"
         },
         "greeceAdditionalInfo": { 
            "contractingAuthorityCode": "string"
         },
         "indiaAdditionalInfo": { 
            "pan": "string"
         },
         "indonesiaAdditionalInfo": { 
            "decisionNumber": "string",
            "ppnExceptionDesignationCode": "string",
            "taxRegistrationNumberType": "string"
         },
         "israelAdditionalInfo": { 
            "customerType": "string",
            "dealerType": "string"
         },
         "italyAdditionalInfo": { 
            "cigNumber": "string",
            "cupNumber": "string",
            "sdiAccountId": "string",
            "taxCode": "string"
         },
         "kenyaAdditionalInfo": { 
            "personType": "string"
         },
         "malaysiaAdditionalInfo": { 
            "businessRegistrationNumber": "string",
            "serviceTaxCodes": [ "string" ],
            "taxInformationNumber": "string"
         },
         "polandAdditionalInfo": { 
            "individualRegistrationNumber": "string",
            "isGroupVatEnabled": boolean
         },
         "romaniaAdditionalInfo": { 
            "taxRegistrationNumberType": "string"
         },
         "saudiArabiaAdditionalInfo": { 
            "taxRegistrationNumberType": "string"
         },
         "southKoreaAdditionalInfo": { 
            "businessRepresentativeName": "string",
            "itemOfBusiness": "string",
            "lineOfBusiness": "string"
         },
         "spainAdditionalInfo": { 
            "registrationType": "string"
         },
         "turkeyAdditionalInfo": { 
            "industries": "string",
            "kepEmailId": "string",
            "secondaryTaxId": "string",
            "taxOffice": "string"
         },
         "ukraineAdditionalInfo": { 
            "ukraineTrnType": "string"
         },
         "uzbekistanAdditionalInfo": { 
            "taxRegistrationNumberType": "string",
            "vatRegistrationNumber": "string"
         },
         "vietnamAdditionalInfo": { 
            "electronicTransactionCodeNumber": "string",
            "enterpriseIdentificationNumber": "string",
            "paymentVoucherNumber": "string",
            "paymentVoucherNumberDate": "string"
         }
      },
      "certifiedEmailId": "string",
      "legalAddress": { 
         "addressLine1": "string",
         "addressLine2": "string",
         "addressLine3": "string",
         "city": "string",
         "countryCode": "string",
         "districtOrCounty": "string",
         "postalCode": "string",
         "stateOrRegion": "string"
      },
      "legalName": "string",
      "registrationId": "string",
      "registrationType": "string",
      "sector": "string",
      "status": "string",
      "taxDocumentMetadatas": [ 
         { 
            "taxDocumentAccessToken": "string",
            "taxDocumentName": "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.

 ** [taxRegistration](#API_taxSettings_GetTaxRegistration_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_GetTaxRegistration-response-taxRegistration"></a>
TRN information of the account mentioned in the request.   
Type: [TaxRegistration](API_taxSettings_TaxRegistration.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The exception thrown when the input doesn't have a resource associated to it.    
 ** errorCode **   
404
HTTP Status Code: 404

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/GetTaxRegistration) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/GetTaxRegistration) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/GetTaxRegistration) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/GetTaxRegistration) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/GetTaxRegistration) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/GetTaxRegistration) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/GetTaxRegistration) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/GetTaxRegistration) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/GetTaxRegistration) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/GetTaxRegistration) 

# GetTaxRegistrationDocument


Downloads your tax documents to the Amazon S3 bucket that you specify in your request.

## Request Syntax


```
POST /GetTaxRegistrationDocument HTTP/1.1
Content-type: application/json

{
   "destinationS3Location": { 
      "bucket": "string",
      "prefix": "string"
   },
   "taxDocumentMetadata": { 
      "taxDocumentAccessToken": "string",
      "taxDocumentName": "string"
   }
}
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request accepts the following data in JSON format.

 ** [destinationS3Location](#API_taxSettings_GetTaxRegistrationDocument_RequestSyntax) **   <a name="awscostmanagement-taxSettings_GetTaxRegistrationDocument-request-destinationS3Location"></a>
The Amazon S3 bucket that you specify to download your tax documents to.  
Type: [DestinationS3Location](API_taxSettings_DestinationS3Location.md) object  
Required: No

 ** [taxDocumentMetadata](#API_taxSettings_GetTaxRegistrationDocument_RequestSyntax) **   <a name="awscostmanagement-taxSettings_GetTaxRegistrationDocument-request-taxDocumentMetadata"></a>
The metadata for your tax document.  
Type: [TaxDocumentMetadata](API_taxSettings_TaxDocumentMetadata.md) object  
Required: Yes

## Response Syntax


```
HTTP/1.1 200
Content-type: application/json

{
   "destinationFilePath": "string",
   "presignedS3Url": "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.

 ** [destinationFilePath](#API_taxSettings_GetTaxRegistrationDocument_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_GetTaxRegistrationDocument-response-destinationFilePath"></a>
The file path of the Amazon S3 bucket where you want to download your tax document to.  
Type: String  
Pattern: `[\s\S]*` 

 ** [presignedS3Url](#API_taxSettings_GetTaxRegistrationDocument_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_GetTaxRegistrationDocument-response-presignedS3Url"></a>
The Amazon S3 presigned URL of the tax registration document.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 200.  
Pattern: `https.*\S.*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/GetTaxRegistrationDocument) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/GetTaxRegistrationDocument) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/GetTaxRegistrationDocument) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/GetTaxRegistrationDocument) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/GetTaxRegistrationDocument) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/GetTaxRegistrationDocument) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/GetTaxRegistrationDocument) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/GetTaxRegistrationDocument) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/GetTaxRegistrationDocument) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/GetTaxRegistrationDocument) 

# ListSupplementalTaxRegistrations


 Retrieves supplemental tax registrations for a single account. 

## Request Syntax


```
POST /ListSupplementalTaxRegistrations HTTP/1.1
Content-type: application/json

{
   "maxResults": number,
   "nextToken": "string"
}
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request accepts the following data in JSON format.

 ** [maxResults](#API_taxSettings_ListSupplementalTaxRegistrations_RequestSyntax) **   <a name="awscostmanagement-taxSettings_ListSupplementalTaxRegistrations-request-maxResults"></a>
 The number of `taxRegistrations` results you want in one response.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [nextToken](#API_taxSettings_ListSupplementalTaxRegistrations_RequestSyntax) **   <a name="awscostmanagement-taxSettings_ListSupplementalTaxRegistrations-request-nextToken"></a>
 The token to retrieve the next set of results.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2000.  
Pattern: `[-A-Za-z0-9_+\=\/]+`   
Required: No

## Response Syntax


```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "taxRegistrations": [ 
      { 
         "address": { 
            "addressLine1": "string",
            "addressLine2": "string",
            "addressLine3": "string",
            "city": "string",
            "countryCode": "string",
            "districtOrCounty": "string",
            "postalCode": "string",
            "stateOrRegion": "string"
         },
         "authorityId": "string",
         "legalName": "string",
         "registrationId": "string",
         "registrationType": "string",
         "status": "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.

 ** [nextToken](#API_taxSettings_ListSupplementalTaxRegistrations_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_ListSupplementalTaxRegistrations-response-nextToken"></a>
 The token to retrieve the next set of results.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2000.  
Pattern: `[-A-Za-z0-9_+\=\/]+` 

 ** [taxRegistrations](#API_taxSettings_ListSupplementalTaxRegistrations_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_ListSupplementalTaxRegistrations-response-taxRegistrations"></a>
 The list of supplemental tax registrations.   
Type: Array of [SupplementalTaxRegistration](API_taxSettings_SupplementalTaxRegistration.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The exception thrown when the input doesn't have a resource associated to it.    
 ** errorCode **   
404
HTTP Status Code: 404

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/ListSupplementalTaxRegistrations) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/ListSupplementalTaxRegistrations) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/ListSupplementalTaxRegistrations) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/ListSupplementalTaxRegistrations) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/ListSupplementalTaxRegistrations) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/ListSupplementalTaxRegistrations) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/ListSupplementalTaxRegistrations) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/ListSupplementalTaxRegistrations) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/ListSupplementalTaxRegistrations) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/ListSupplementalTaxRegistrations) 

# ListTaxExemptions


Retrieves the tax exemption of accounts listed in a consolidated billing family. The IAM action is `tax:GetExemptions`.

## Request Syntax


```
POST /ListTaxExemptions HTTP/1.1
Content-type: application/json

{
   "maxResults": number,
   "nextToken": "string"
}
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request accepts the following data in JSON format.

 ** [maxResults](#API_taxSettings_ListTaxExemptions_RequestSyntax) **   <a name="awscostmanagement-taxSettings_ListTaxExemptions-request-maxResults"></a>
The number of results you want in one response.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [nextToken](#API_taxSettings_ListTaxExemptions_RequestSyntax) **   <a name="awscostmanagement-taxSettings_ListTaxExemptions-request-nextToken"></a>
The token to retrieve the next set of results.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2000.  
Pattern: `[-A-Za-z0-9_+\=\/]+`   
Required: No

## Response Syntax


```
HTTP/1.1 200
Content-type: application/json

{
   "nextToken": "string",
   "taxExemptionDetailsMap": { 
      "string" : { 
         "heritageObtainedDetails": boolean,
         "heritageObtainedParentEntity": "string",
         "heritageObtainedReason": "string",
         "taxExemptions": [ 
            { 
               "authority": { 
                  "country": "string",
                  "state": "string"
               },
               "effectiveDate": number,
               "expirationDate": number,
               "status": "string",
               "systemEffectiveDate": number,
               "taxExemptionType": { 
                  "applicableJurisdictions": [ 
                     { 
                        "country": "string",
                        "state": "string"
                     }
                  ],
                  "description": "string",
                  "displayName": "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.

 ** [nextToken](#API_taxSettings_ListTaxExemptions_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_ListTaxExemptions-response-nextToken"></a>
The token to retrieve the next set of results.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2000.  
Pattern: `[-A-Za-z0-9_+\=\/]+` 

 ** [taxExemptionDetailsMap](#API_taxSettings_ListTaxExemptions_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_ListTaxExemptions-response-taxExemptionDetailsMap"></a>
The tax exemption details map of `accountId` and tax exemption details.   
Type: String to [TaxExemptionDetails](API_taxSettings_TaxExemptionDetails.md) object map  
Key Length Constraints: Fixed length of 12.  
Key Pattern: `\d+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The exception thrown when the input doesn't have a resource associated to it.    
 ** errorCode **   
404
HTTP Status Code: 404

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/ListTaxExemptions) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/ListTaxExemptions) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/ListTaxExemptions) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/ListTaxExemptions) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/ListTaxExemptions) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/ListTaxExemptions) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/ListTaxExemptions) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/ListTaxExemptions) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/ListTaxExemptions) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/ListTaxExemptions) 

# ListTaxRegistrations


Retrieves the tax registration of accounts listed in a consolidated billing family. This can be used to retrieve up to 100 accounts' tax registrations in one call (default 50). 

## Request Syntax


```
POST /ListTaxRegistrations HTTP/1.1
Content-type: application/json

{
   "maxResults": number,
   "nextToken": "string"
}
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request accepts the following data in JSON format.

 ** [maxResults](#API_taxSettings_ListTaxRegistrations_RequestSyntax) **   <a name="awscostmanagement-taxSettings_ListTaxRegistrations-request-maxResults"></a>
Number of `accountDetails` results you want in one response.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [nextToken](#API_taxSettings_ListTaxRegistrations_RequestSyntax) **   <a name="awscostmanagement-taxSettings_ListTaxRegistrations-request-nextToken"></a>
The token to retrieve the next set of results.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2000.  
Pattern: `[-A-Za-z0-9_+\=\/]+`   
Required: No

## Response Syntax


```
HTTP/1.1 200
Content-type: application/json

{
   "accountDetails": [ 
      { 
         "accountId": "string",
         "accountMetaData": { 
            "accountName": "string",
            "address": { 
               "addressLine1": "string",
               "addressLine2": "string",
               "addressLine3": "string",
               "city": "string",
               "countryCode": "string",
               "districtOrCounty": "string",
               "postalCode": "string",
               "stateOrRegion": "string"
            },
            "addressRoleMap": { 
               "string" : { 
                  "countryCode": "string",
                  "stateOrRegion": "string"
               }
            },
            "addressType": "string",
            "seller": "string"
         },
         "taxInheritanceDetails": { 
            "inheritanceObtainedReason": "string",
            "parentEntityId": "string"
         },
         "taxRegistration": { 
            "additionalTaxInformation": { 
               "brazilAdditionalInfo": { 
                  "ccmCode": "string",
                  "legalNatureCode": "string"
               },
               "canadaAdditionalInfo": { 
                  "canadaQuebecSalesTaxNumber": "string",
                  "canadaRetailSalesTaxNumber": "string",
                  "isResellerAccount": boolean,
                  "provincialSalesTaxId": "string"
               },
               "egyptAdditionalInfo": { 
                  "uniqueIdentificationNumber": "string",
                  "uniqueIdentificationNumberExpirationDate": "string"
               },
               "estoniaAdditionalInfo": { 
                  "registryCommercialCode": "string"
               },
               "georgiaAdditionalInfo": { 
                  "personType": "string"
               },
               "greeceAdditionalInfo": { 
                  "contractingAuthorityCode": "string"
               },
               "indiaAdditionalInfo": { 
                  "pan": "string"
               },
               "indonesiaAdditionalInfo": { 
                  "decisionNumber": "string",
                  "ppnExceptionDesignationCode": "string",
                  "taxRegistrationNumberType": "string"
               },
               "israelAdditionalInfo": { 
                  "customerType": "string",
                  "dealerType": "string"
               },
               "italyAdditionalInfo": { 
                  "cigNumber": "string",
                  "cupNumber": "string",
                  "sdiAccountId": "string",
                  "taxCode": "string"
               },
               "kenyaAdditionalInfo": { 
                  "personType": "string"
               },
               "malaysiaAdditionalInfo": { 
                  "businessRegistrationNumber": "string",
                  "serviceTaxCodes": [ "string" ],
                  "taxInformationNumber": "string"
               },
               "polandAdditionalInfo": { 
                  "individualRegistrationNumber": "string",
                  "isGroupVatEnabled": boolean
               },
               "romaniaAdditionalInfo": { 
                  "taxRegistrationNumberType": "string"
               },
               "saudiArabiaAdditionalInfo": { 
                  "taxRegistrationNumberType": "string"
               },
               "southKoreaAdditionalInfo": { 
                  "businessRepresentativeName": "string",
                  "itemOfBusiness": "string",
                  "lineOfBusiness": "string"
               },
               "spainAdditionalInfo": { 
                  "registrationType": "string"
               },
               "turkeyAdditionalInfo": { 
                  "industries": "string",
                  "kepEmailId": "string",
                  "secondaryTaxId": "string",
                  "taxOffice": "string"
               },
               "ukraineAdditionalInfo": { 
                  "ukraineTrnType": "string"
               },
               "uzbekistanAdditionalInfo": { 
                  "taxRegistrationNumberType": "string",
                  "vatRegistrationNumber": "string"
               },
               "vietnamAdditionalInfo": { 
                  "electronicTransactionCodeNumber": "string",
                  "enterpriseIdentificationNumber": "string",
                  "paymentVoucherNumber": "string",
                  "paymentVoucherNumberDate": "string"
               }
            },
            "certifiedEmailId": "string",
            "jurisdiction": { 
               "countryCode": "string",
               "stateOrRegion": "string"
            },
            "legalName": "string",
            "registrationId": "string",
            "registrationType": "string",
            "sector": "string",
            "status": "string",
            "taxDocumentMetadatas": [ 
               { 
                  "taxDocumentAccessToken": "string",
                  "taxDocumentName": "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.

 ** [accountDetails](#API_taxSettings_ListTaxRegistrations_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_ListTaxRegistrations-response-accountDetails"></a>
The list of account details. This contains account Ids and TRN Information for each of the linked accounts.   
Type: Array of [AccountDetails](API_taxSettings_AccountDetails.md) objects

 ** [nextToken](#API_taxSettings_ListTaxRegistrations_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_ListTaxRegistrations-response-nextToken"></a>
 The token to retrieve the next set of results.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2000.  
Pattern: `[-A-Za-z0-9_+\=\/]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The exception thrown when the input doesn't have a resource associated to it.    
 ** errorCode **   
404
HTTP Status Code: 404

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/ListTaxRegistrations) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/ListTaxRegistrations) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/ListTaxRegistrations) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/ListTaxRegistrations) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/ListTaxRegistrations) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/ListTaxRegistrations) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/ListTaxRegistrations) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/ListTaxRegistrations) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/ListTaxRegistrations) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/ListTaxRegistrations) 

# PutSupplementalTaxRegistration


 Stores supplemental tax registration for a single account. 

## Request Syntax


```
POST /PutSupplementalTaxRegistration HTTP/1.1
Content-type: application/json

{
   "taxRegistrationEntry": { 
      "address": { 
         "addressLine1": "string",
         "addressLine2": "string",
         "addressLine3": "string",
         "city": "string",
         "countryCode": "string",
         "districtOrCounty": "string",
         "postalCode": "string",
         "stateOrRegion": "string"
      },
      "legalName": "string",
      "registrationId": "string",
      "registrationType": "string"
   }
}
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request accepts the following data in JSON format.

 ** [taxRegistrationEntry](#API_taxSettings_PutSupplementalTaxRegistration_RequestSyntax) **   <a name="awscostmanagement-taxSettings_PutSupplementalTaxRegistration-request-taxRegistrationEntry"></a>
 The supplemental TRN information that will be stored for the caller account ID.   
Type: [SupplementalTaxRegistrationEntry](API_taxSettings_SupplementalTaxRegistrationEntry.md) object  
Required: Yes

## Response Syntax


```
HTTP/1.1 200
Content-type: application/json

{
   "authorityId": "string",
   "status": "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.

 ** [authorityId](#API_taxSettings_PutSupplementalTaxRegistration_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_PutSupplementalTaxRegistration-response-authorityId"></a>
 Unique authority ID for the supplemental TRN information that was stored.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 200.  
Pattern: `[\s\S]*` 

 ** [status](#API_taxSettings_PutSupplementalTaxRegistration_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_PutSupplementalTaxRegistration-response-status"></a>
 The status of the supplemental TRN stored in the system after processing. Based on the validation occurring on the TRN, the status can be `Verified`, `Pending`, `Rejected`, or `Deleted`.   
Type: String  
Valid Values: `Verified | Pending | Deleted | Rejected` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** ConflictException **   
The exception when the input is creating conflict with the given state.    
 ** errorCode **   
409
HTTP Status Code: 409

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/PutSupplementalTaxRegistration) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/PutSupplementalTaxRegistration) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/PutSupplementalTaxRegistration) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/PutSupplementalTaxRegistration) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/PutSupplementalTaxRegistration) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/PutSupplementalTaxRegistration) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/PutSupplementalTaxRegistration) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/PutSupplementalTaxRegistration) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/PutSupplementalTaxRegistration) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/PutSupplementalTaxRegistration) 

# PutTaxExemption


Adds the tax exemption for a single account or all accounts listed in a consolidated billing family. The IAM action is `tax:UpdateExemptions`. 

## Request Syntax


```
POST /PutTaxExemption HTTP/1.1
Content-type: application/json

{
   "accountIds": [ "string" ],
   "authority": { 
      "country": "string",
      "state": "string"
   },
   "exemptionCertificate": { 
      "documentFile": blob,
      "documentName": "string"
   },
   "exemptionType": "string"
}
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request accepts the following data in JSON format.

 ** [accountIds](#API_taxSettings_PutTaxExemption_RequestSyntax) **   <a name="awscostmanagement-taxSettings_PutTaxExemption-request-accountIds"></a>
 The list of unique account identifiers.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 550 items.  
Length Constraints: Fixed length of 12.  
Pattern: `\d+`   
Required: Yes

 ** [authority](#API_taxSettings_PutTaxExemption_RequestSyntax) **   <a name="awscostmanagement-taxSettings_PutTaxExemption-request-authority"></a>
The address domain associate with the tax information.   
Type: [Authority](API_taxSettings_Authority.md) object  
Required: Yes

 ** [exemptionCertificate](#API_taxSettings_PutTaxExemption_RequestSyntax) **   <a name="awscostmanagement-taxSettings_PutTaxExemption-request-exemptionCertificate"></a>
The exemption certificate.   
Type: [ExemptionCertificate](API_taxSettings_ExemptionCertificate.md) object  
Required: Yes

 ** [exemptionType](#API_taxSettings_PutTaxExemption_RequestSyntax) **   <a name="awscostmanagement-taxSettings_PutTaxExemption-request-exemptionType"></a>
The exemption type. Use the supported tax exemption type description.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 200.  
Pattern: `[\s\S]*`   
Required: Yes

## Response Syntax


```
HTTP/1.1 200
Content-type: application/json

{
   "caseId": "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.

 ** [caseId](#API_taxSettings_PutTaxExemption_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_PutTaxExemption-response-caseId"></a>
The customer support case ID.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 200.  
Pattern: `[\s\S]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
The access is denied for the Amazon Web Services Support API.   
HTTP Status Code: 401

 ** AttachmentUploadException **   
Failed to upload the tax exemption document to Amazon Web Services Support case.   
HTTP Status Code: 400

 ** CaseCreationLimitExceededException **   
You've exceeded the Amazon Web Services Support case creation limit for your account.   
HTTP Status Code: 413

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The exception thrown when the input doesn't have a resource associated to it.    
 ** errorCode **   
404
HTTP Status Code: 404

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/PutTaxExemption) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/PutTaxExemption) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/PutTaxExemption) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/PutTaxExemption) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/PutTaxExemption) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/PutTaxExemption) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/PutTaxExemption) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/PutTaxExemption) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/PutTaxExemption) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/PutTaxExemption) 

# PutTaxInheritance


The updated tax inheritance status. 

## Request Syntax


```
POST /PutTaxInheritance HTTP/1.1
Content-type: application/json

{
   "heritageStatus": "string"
}
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request accepts the following data in JSON format.

 ** [heritageStatus](#API_taxSettings_PutTaxInheritance_RequestSyntax) **   <a name="awscostmanagement-taxSettings_PutTaxInheritance-request-heritageStatus"></a>
The tax inheritance status.   
Type: String  
Valid Values: `OptIn | OptOut`   
Required: No

## Response Syntax


```
HTTP/1.1 200
```

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** ConflictException **   
The exception when the input is creating conflict with the given state.    
 ** errorCode **   
409
HTTP Status Code: 409

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The exception thrown when the input doesn't have a resource associated to it.    
 ** errorCode **   
404
HTTP Status Code: 404

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/PutTaxInheritance) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/PutTaxInheritance) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/PutTaxInheritance) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/PutTaxInheritance) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/PutTaxInheritance) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/PutTaxInheritance) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/PutTaxInheritance) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/PutTaxInheritance) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/PutTaxInheritance) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/PutTaxInheritance) 

# PutTaxRegistration


Adds or updates tax registration for a single account. You can't set a TRN if there's a pending TRN. You'll need to delete the pending TRN first.

To call this API operation for specific countries, see the following country-specific requirements.

 **Bangladesh** 
+ You must specify the tax registration certificate document in the `taxRegistrationDocuments` field of the `VerificationDetails` object.

 **Brazil** 
+ You must complete the tax registration process in the [Payment preferences](https://console.amazonaws.cn/billing/home#/paymentpreferences/paymentmethods) page in the Amazon Billing and Cost Management console. After your TRN and billing address are verified, you can call this API operation.
+ For Amazon Web Services accounts created through Amazon Organizations, you can call this API operation when you don't have a billing address.

 **Georgia** 
+ The valid `personType` values are `Physical Person` and `Business`.

 **Indonesia** 
+  `PutTaxRegistration`: The use of this operation to submit tax information is subject to the [Amazon Web Services service terms](http://www.amazonaws.cn/service-terms/). By submitting, you’re providing consent for Amazon to validate NIK, NPWP, and NITKU data, provided by you with the Directorate General of Taxes of Indonesia in accordance with the Minister of Finance Regulation (PMK) Number 112/PMK.03/2022.
+  `BatchPutTaxRegistration`: The use of this operation to submit tax information is subject to the [Amazon Web Services service terms](http://www.amazonaws.cn/service-terms/). By submitting, you’re providing consent for Amazon to validate NIK, NPWP, and NITKU data, provided by you with the Directorate General of Taxes of Indonesia in accordance with the Minister of Finance Regulation (PMK) Number 112/PMK.03/2022, through our third-party partner PT Achilles Advanced Management (OnlinePajak).
+ You must specify the `taxRegistrationNumberType` in the `indonesiaAdditionalInfo` field of the `additionalTaxInformation` object.
+ If you specify `decisionNumber`, you must specify the `ppnExceptionDesignationCode` in the `indonesiaAdditionalInfo` field of the `additionalTaxInformation` object. If the `taxRegistrationNumberType` is set to NPWP or NITKU, valid values for `ppnExceptionDesignationCode` are either `01`, `02`, `03`, `07`, or `08`.

  For other `taxRegistrationNumberType` values, `ppnExceptionDesignationCode` must be either `01`, `07`, or `08`.
+ If `ppnExceptionDesignationCode` is `07` or `08`, you must specify the `decisionNumber` in the `indonesiaAdditionalInfo` field of the `additionalTaxInformation` object.

 **Kenya** 
+ You must specify the `personType` in the `kenyaAdditionalInfo` field of the `additionalTaxInformation` object.
+ If the `personType` is `Physical Person`, you must specify the tax registration certificate document in the `taxRegistrationDocuments` field of the `VerificationDetails` object.

 **Malaysia** 
+ The sector valid values are `Business` and `Individual`.
+  `RegistrationType` valid values are `NRIC` for individual, and TIN and sales and service tax (SST) for Business.
+ For individual, you can specify the `taxInformationNumber` in `MalaysiaAdditionalInfo` with NRIC type, and a valid `MyKad` or NRIC number.
+ For business, you must specify a `businessRegistrationNumber` in `MalaysiaAdditionalInfo` with a TIN type and tax identification number.
+ For business resellers, you must specify a `businessRegistrationNumber` and `taxInformationNumber` in `MalaysiaAdditionalInfo` with a sales and service tax (SST) type and a valid SST number.
+ For business resellers with service codes, you must specify `businessRegistrationNumber`, `taxInformationNumber`, and distinct `serviceTaxCodes` in `MalaysiaAdditionalInfo` with a SST type and valid sales and service tax (SST) number. By using this API operation, Amazon registers your self-declaration that you’re an authorized business reseller registered with the Royal Malaysia Customs Department (RMCD), and have a valid SST number.
+  Amazon reserves the right to seek additional information and/or take other actions to support your self-declaration as appropriate.
+  Amazon is currently registered under the following service tax codes. You must include at least one of the service tax codes in the service tax code strings to declare yourself as an authorized registered business reseller.

  Taxable service and service tax codes:

  Consultancy - 9907061674

  Training or coaching service - 9907071685

  IT service - 9907101676

  Digital services and electronic medium - 9907121690

 **Mexico** 
+ You must provide a Constancia de Situación fiscal (CSF) document in the **verificationDetails** field.
+ You do not need to provide address and legal name. These will be populated based on your tax registration number.

 **Nepal** 
+ The sector valid values are `Business` and `Individual`.

 **Saudi Arabia** 
+ For `address`, you must specify `addressLine3`.

 **South Korea** 
+ You must specify the `certifiedEmailId` and `legalName` in the `TaxRegistrationEntry` object. Use Korean characters for `legalName`.
+ You must specify the `businessRepresentativeName`, `itemOfBusiness`, and `lineOfBusiness` in the `southKoreaAdditionalInfo` field of the `additionalTaxInformation` object. Use Korean characters for these fields.
+ You must specify the tax registration certificate document in the `taxRegistrationDocuments` field of the `VerificationDetails` object.
+ For the `address` object, use Korean characters for `addressLine1`, `addressLine2` `city`, `postalCode`, and `stateOrRegion`.

 **Spain** 
+ You must specify the `registrationType` in the `spainAdditionalInfo` field of the `additionalTaxInformation` object.
+ If the `registrationType` is `Local`, you must specify the tax registration certificate document in the `taxRegistrationDocuments` field of the `VerificationDetails` object.

 **Turkey** 
+ You must specify the `sector` in the `taxRegistrationEntry` object.
+ If your `sector` is `Business`, `Individual`, or `Government`:
  + Specify the `taxOffice`. If your `sector` is `Individual`, don't enter this value.
  + (Optional) Specify the `kepEmailId`. If your `sector` is `Individual`, don't enter this value.
  +  **Note:** In the **Tax Settings** page of the Amazon Billing console, `Government` appears as **Public institutions** 
+ If your `sector` is `Business` and you're subject to KDV tax, you must specify your industry in the `industries` field.
+ For `address`, you must specify `districtOrCounty`.

 **Ukraine** 
+ The sector valid values are `Business` and `Individual`.

## Request Syntax


```
POST /PutTaxRegistration HTTP/1.1
Content-type: application/json

{
   "accountId": "string",
   "taxRegistrationEntry": { 
      "additionalTaxInformation": { 
         "canadaAdditionalInfo": { 
            "canadaQuebecSalesTaxNumber": "string",
            "canadaRetailSalesTaxNumber": "string",
            "isResellerAccount": boolean,
            "provincialSalesTaxId": "string"
         },
         "egyptAdditionalInfo": { 
            "uniqueIdentificationNumber": "string",
            "uniqueIdentificationNumberExpirationDate": "string"
         },
         "estoniaAdditionalInfo": { 
            "registryCommercialCode": "string"
         },
         "georgiaAdditionalInfo": { 
            "personType": "string"
         },
         "greeceAdditionalInfo": { 
            "contractingAuthorityCode": "string"
         },
         "indonesiaAdditionalInfo": { 
            "decisionNumber": "string",
            "ppnExceptionDesignationCode": "string",
            "taxRegistrationNumberType": "string"
         },
         "israelAdditionalInfo": { 
            "customerType": "string",
            "dealerType": "string"
         },
         "italyAdditionalInfo": { 
            "cigNumber": "string",
            "cupNumber": "string",
            "sdiAccountId": "string",
            "taxCode": "string"
         },
         "kenyaAdditionalInfo": { 
            "personType": "string"
         },
         "malaysiaAdditionalInfo": { 
            "businessRegistrationNumber": "string",
            "serviceTaxCodes": [ "string" ],
            "taxInformationNumber": "string"
         },
         "polandAdditionalInfo": { 
            "individualRegistrationNumber": "string",
            "isGroupVatEnabled": boolean
         },
         "romaniaAdditionalInfo": { 
            "taxRegistrationNumberType": "string"
         },
         "saudiArabiaAdditionalInfo": { 
            "taxRegistrationNumberType": "string"
         },
         "southKoreaAdditionalInfo": { 
            "businessRepresentativeName": "string",
            "itemOfBusiness": "string",
            "lineOfBusiness": "string"
         },
         "spainAdditionalInfo": { 
            "registrationType": "string"
         },
         "turkeyAdditionalInfo": { 
            "industries": "string",
            "kepEmailId": "string",
            "secondaryTaxId": "string",
            "taxOffice": "string"
         },
         "ukraineAdditionalInfo": { 
            "ukraineTrnType": "string"
         },
         "uzbekistanAdditionalInfo": { 
            "taxRegistrationNumberType": "string",
            "vatRegistrationNumber": "string"
         },
         "vietnamAdditionalInfo": { 
            "electronicTransactionCodeNumber": "string",
            "enterpriseIdentificationNumber": "string",
            "paymentVoucherNumber": "string",
            "paymentVoucherNumberDate": "string"
         }
      },
      "certifiedEmailId": "string",
      "legalAddress": { 
         "addressLine1": "string",
         "addressLine2": "string",
         "addressLine3": "string",
         "city": "string",
         "countryCode": "string",
         "districtOrCounty": "string",
         "postalCode": "string",
         "stateOrRegion": "string"
      },
      "legalName": "string",
      "registrationId": "string",
      "registrationType": "string",
      "sector": "string",
      "verificationDetails": { 
         "dateOfBirth": "string",
         "taxRegistrationDocuments": [ 
            { 
               "file": { 
                  "fileContent": blob,
                  "fileName": "string"
               },
               "s3Location": { 
                  "bucket": "string",
                  "key": "string"
               }
            }
         ]
      }
   }
}
```

## URI Request Parameters


The request does not use any URI parameters.

## Request Body


The request accepts the following data in JSON format.

 ** [accountId](#API_taxSettings_PutTaxRegistration_RequestSyntax) **   <a name="awscostmanagement-taxSettings_PutTaxRegistration-request-accountId"></a>
Your unique account identifier.   
Type: String  
Length Constraints: Fixed length of 12.  
Pattern: `\d+`   
Required: No

 ** [taxRegistrationEntry](#API_taxSettings_PutTaxRegistration_RequestSyntax) **   <a name="awscostmanagement-taxSettings_PutTaxRegistration-request-taxRegistrationEntry"></a>
 Your TRN information that will be stored to the account mentioned in `accountId`.   
Type: [TaxRegistrationEntry](API_taxSettings_TaxRegistrationEntry.md) object  
Required: Yes

## Response Syntax


```
HTTP/1.1 200
Content-type: application/json

{
   "status": "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.

 ** [status](#API_taxSettings_PutTaxRegistration_ResponseSyntax) **   <a name="awscostmanagement-taxSettings_PutTaxRegistration-response-status"></a>
The status of your TRN stored in the system after processing. Based on the validation occurring on the TRN, the status can be `Verified`, `Pending` or `Rejected`.   
Type: String  
Valid Values: `Verified | Pending | Deleted | Rejected` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** ConflictException **   
The exception when the input is creating conflict with the given state.    
 ** errorCode **   
409
HTTP Status Code: 409

 ** InternalServerException **   
The exception thrown when an unexpected error occurs when processing a request.    
 ** errorCode **   
500
HTTP Status Code: 500

 ** ValidationException **   
The exception when the input doesn't pass validation for at least one of the input parameters.     
 ** errorCode **   
400  
 ** fieldList **   
400
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/taxsettings-2018-05-10/PutTaxRegistration) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/taxsettings-2018-05-10/PutTaxRegistration) 
+  [Amazon SDK for C\$1\$1](https://docs.amazonaws.cn/goto/SdkForCpp/taxsettings-2018-05-10/PutTaxRegistration) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/taxsettings-2018-05-10/PutTaxRegistration) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/taxsettings-2018-05-10/PutTaxRegistration) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/taxsettings-2018-05-10/PutTaxRegistration) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/taxsettings-2018-05-10/PutTaxRegistration) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/taxsettings-2018-05-10/PutTaxRegistration) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/taxsettings-2018-05-10/PutTaxRegistration) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/taxsettings-2018-05-10/PutTaxRegistration) 