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: