CreateScheduledReport - AWS Billing and Cost Management

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.

The request accepts the following data in JSON format.

clientToken

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

The tags to apply to the scheduled report resource for organization and management.

Type: Array of ResourceTag objects

Array Members: Minimum number of 0 items. Maximum number of 200 items.

Required: No

scheduledReport

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 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

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.

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 AWS Support.

HTTP Status Code: 500

ServiceQuotaExceededException

The request would exceed a service quota. Review the service quotas for AWS 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 AWS SDKs, see the following: