PutReportDefinition - Amazon Billing and Cost Management
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).


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.

The request accepts the following data in JSON format.


Represents the output of the PutReportDefinition operation. The content consists of the detailed metadata and data file information.

Type: ReportDefinition object

Required: Yes


The tags to be assigned to the report definition resource.

Type: Array of Tag 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.


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


A report with the specified name already exists in the account. Specify a different report name.

HTTP Status Code: 400


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

HTTP Status Code: 500


This account already has five reports defined. To define a new report, you must delete an existing report.

HTTP Status Code: 400


The specified report (ReportName) in the request doesn't exist.

HTTP Status Code: 400


The input fails to satisfy the constraints specified by an Amazon service.

HTTP Status Code: 400


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: