Amazon Billing And Cost Management Billing And Cost Management Scheduled Report API

The Billing And Cost Management Scheduled Report API from Amazon Billing And Cost Management — 6 operation(s) for billing and cost management scheduled report.

GitHub OpenAPI

Operations 6

POST /#CreateScheduledReport Create Scheduled Report #
POST /#DeleteScheduledReport Delete Scheduled Report #
POST /#ExecuteScheduledReport Execute Scheduled Report #
POST /#GetScheduledReport Get Scheduled Report #
POST /#ListScheduledReports List Scheduled Reports #
POST /#UpdateScheduledReport Update Scheduled Report #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-billing-and-cost-management:amazon-billing-and-cost-management-scheduled-report-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

amazon-billing-and-cost-management-scheduled-report-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS Cost Explorer Service Scheduled Report API
  version: '2017-10-25'
  description: Generated from AWS's published Smithy model for AWS Cost Explorer Service. 6 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://bcm-dashboards.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /#CreateScheduledReport:
    post:
      operationId: CreateScheduledReport
      summary: Create Scheduled Report
      description: Creates a new scheduled report for a dashboard. A scheduled report automatically generates and delivers
        dashboard snapshots on a recurring schedule. Reports are delivered within 15 minutes of the scheduled delivery time.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/CreateScheduledReportResponse'
        '403':
          description: AccessDeniedException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmDashboardsConflictException'
        '500':
          description: InternalServerException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmDashboardsServiceQuotaExceededException'
        '429':
          description: ThrottlingException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmDashboardsValidationException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSBCMDashboardsService.CreateScheduledReport
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/CreateScheduledReportRequest'
      tags:
      - Scheduled Report
  /#DeleteScheduledReport:
    post:
      operationId: DeleteScheduledReport
      summary: Delete Scheduled Report
      description: Deletes a specified scheduled report. This is an irreversible operation.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/DeleteScheduledReportResponse'
        '403':
          description: AccessDeniedException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmDashboardsResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmDashboardsValidationException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSBCMDashboardsService.DeleteScheduledReport
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/DeleteScheduledReportRequest'
      tags:
      - Scheduled Report
  /#ExecuteScheduledReport:
    post:
      operationId: ExecuteScheduledReport
      summary: Execute Scheduled Report
      description: 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. 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.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/ExecuteScheduledReportResponse'
        '403':
          description: AccessDeniedException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmDashboardsConflictException'
        '500':
          description: InternalServerException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmDashboardsResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmDashboardsValidationException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSBCMDashboardsService.ExecuteScheduledReport
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/ExecuteScheduledReportRequest'
      tags:
      - Scheduled Report
  /#GetScheduledReport:
    post:
      operationId: GetScheduledReport
      summary: Get Scheduled Report
      description: Retrieves the configuration and metadata of a specified scheduled report.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/GetScheduledReportResponse'
        '403':
          description: AccessDeniedException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmDashboardsResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmDashboardsValidationException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSBCMDashboardsService.GetScheduledReport
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/GetScheduledReportRequest'
      tags:
      - Scheduled Report
  /#ListScheduledReports:
    post:
      operationId: ListScheduledReports
      summary: List Scheduled Reports
      description: Returns a list of scheduled reports in your account.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/ListScheduledReportsResponse'
        '403':
          description: AccessDeniedException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '429':
          description: ThrottlingException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmDashboardsValidationException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSBCMDashboardsService.ListScheduledReports
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/ListScheduledReportsRequest'
      tags:
      - Scheduled Report
  /#UpdateScheduledReport:
    post:
      operationId: UpdateScheduledReport
      summary: Update Scheduled Report
      description: 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.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/UpdateScheduledReportResponse'
        '403':
          description: AccessDeniedException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmDashboardsConflictException'
        '500':
          description: InternalServerException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmDashboardsResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmDashboardsValidationException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSBCMDashboardsService.UpdateScheduledReport
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/UpdateScheduledReportRequest'
      tags:
      - Scheduled Report
components:
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical
        request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: bcm-dashboards
  schemas:
    AccessDeniedException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    BcmDashboardsConflictException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    BcmDashboardsHealthStatus:
      type: object
      properties:
        statusCode:
          type: string
          enum:
          - HEALTHY
          - UNHEALTHY
          description: The health status code. HEALTHY indicates the scheduled report is configured properly and has all required
            permissions to execute. UNHEALTHY indicates the scheduled report is unable to deliver the notification to the
            default Amazon EventBridge EventBus in your account and your action is needed. The reason for the unhealthy state
            is captured in the health status reasons.
        lastRefreshedAt:
          type: string
          format: date-time
          description: The timestamp when the health status was last refreshed.
        statusReasons:
          type: array
          items:
            type: string
            enum:
            - DATA_SOURCE_ACCESS_DENIED
            - EXECUTION_ROLE_ASSUME_FAILED
            - EXECUTION_ROLE_INSUFFICIENT_PERMISSIONS
            - DASHBOARD_NOT_FOUND
            - DASHBOARD_ACCESS_DENIED
            - INTERNAL_FAILURE
            - WIDGET_ID_NOT_FOUND
          description: The list of reasons for the current health status. Only present when the status is UNHEALTHY.
      required:
      - statusCode
    BcmDashboardsResourceNotFoundException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    BcmDashboardsResourceTag:
      type: object
      properties:
        key:
          type: string
          description: The key of the tag to be attached to the dashboard resource.
        value:
          type: string
          description: The value of the tag to be attached to the dashboard resource.
      required:
      - key
      - value
    BcmDashboardsServiceQuotaExceededException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    BcmDashboardsValidationException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    CreateScheduledReportRequest:
      type: object
      properties:
        scheduledReport:
          $ref: '#/components/schemas/ScheduledReportInput'
        resourceTags:
          type: array
          items:
            $ref: '#/components/schemas/BcmDashboardsResourceTag'
          description: The tags to apply to the scheduled report resource for organization and management.
        clientToken:
          type: string
          description: A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
      required:
      - scheduledReport
    CreateScheduledReportResponse:
      type: object
      properties:
        arn:
          type: string
          description: The ARN of the newly created scheduled report.
      required:
      - arn
    DateTimeRange:
      type: object
      properties:
        startTime:
          $ref: '#/components/schemas/DateTimeValue'
        endTime:
          $ref: '#/components/schemas/DateTimeValue'
      required:
      - startTime
      - endTime
    DateTimeValue:
      type: object
      properties:
        type:
          type: string
          enum:
          - ABSOLUTE
          - RELATIVE
          description: 'The type of date/time value: ABSOLUTE for specific dates or RELATIVE for dynamic time periods.'
        value:
          type: string
          description: The actual date/time value.
      required:
      - type
      - value
    DeleteScheduledReportRequest:
      type: object
      properties:
        arn:
          type: string
          description: The ARN of the scheduled report to delete.
      required:
      - arn
    DeleteScheduledReportResponse:
      type: object
      properties:
        arn:
          type: string
          description: The ARN of the scheduled report that was deleted.
      required:
      - arn
    ExecuteScheduledReportRequest:
      type: object
      properties:
        arn:
          type: string
          description: The ARN of the scheduled report to execute.
        clientToken:
          type: string
          description: A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
        dryRun:
          type: boolean
          description: When set to true, validates the scheduled report configuration without triggering an actual execution.
      required:
      - arn
    ExecuteScheduledReportResponse:
      type: object
      properties:
        healthStatus:
          $ref: '#/components/schemas/BcmDashboardsHealthStatus'
        executionTriggered:
          type: boolean
          description: Indicates whether the execution was successfully triggered.
    GetScheduledReportRequest:
      type: object
      properties:
        arn:
          type: string
          description: The ARN of the scheduled report to retrieve.
      required:
      - arn
    GetScheduledReportResponse:
      type: object
      properties:
        scheduledReport:
          $ref: '#/components/schemas/ScheduledReport'
      required:
      - scheduledReport
    InternalServerException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    ListScheduledReportsRequest:
      type: object
      properties:
        nextToken:
          type: string
          description: The token for the next page of results. Use the value returned in the previous response.
        maxResults:
          type: integer
          description: The maximum number of results to return in a single call. Valid range is 1 to 100. The default value
            is 50.
    ListScheduledReportsResponse:
      type: object
      properties:
        scheduledReports:
          type: array
          items:
            $ref: '#/components/schemas/ScheduledReportSummary'
          description: An array of scheduled report summaries, containing basic information about each scheduled report.
        nextToken:
          type: string
          description: The token to use to retrieve the next page of results. Not returned if there are no more results to
            retrieve.
      required:
      - scheduledReports
    ScheduleConfig:
      type: object
      properties:
        scheduleExpression:
          type: string
          description: 'The schedule expression that specifies when to trigger the scheduled report run. This value must be
            a cron expression consisting of six fields separated by white spaces: cron(minutes hours day_of_month month day_of_week
            year).'
        scheduleExpressionTimeZone:
          type: string
          description: The time zone for the schedule expression, for example, UTC.
        schedulePeriod:
          $ref: '#/components/schemas/SchedulePeriod'
        state:
          type: string
          enum:
          - ENABLED
          - DISABLED
          description: The state of the schedule. ENABLED means the scheduled report runs according to its schedule expression.
            DISABLED means the scheduled report is paused and will not run until re-enabled.
    SchedulePeriod:
      type: object
      properties:
        startTime:
          type: string
          format: date-time
          description: The start time of the schedule period. If not specified, defaults to the time of the create or update
            request. The start time cannot be more than 5 minutes before the time of the request.
        endTime:
          type: string
          format: date-time
          description: The end time of the schedule period. If not specified, defaults to 3 years from the time of the create
            or update request. The maximum allowed value is 3 years from the current time. Setting an end time beyond this
            limit returns a ValidationException.
    ScheduledReport:
      type: object
      properties:
        arn:
          type: string
          description: The ARN of the scheduled report.
        name:
          type: string
          description: The name of the scheduled report.
        dashboardArn:
          type: string
          description: The ARN of the dashboard associated with the scheduled report.
        scheduledReportExecutionRoleArn:
          type: string
          description: The ARN of the IAM role that the scheduled report uses to execute. Amazon Web Services Billing and
            Cost Management Dashboards will assume this IAM role while executing the scheduled report.
        scheduleConfig:
          $ref: '#/components/schemas/ScheduleConfig'
        description:
          type: string
          description: A description of the scheduled report's purpose or contents.
        widgetIds:
          type: array
          items:
            type: string
          description: The list of widget identifiers included in the scheduled report.
        widgetDateRangeOverride:
          $ref: '#/components/schemas/DateTimeRange'
        createdAt:
          type: string
          format: date-time
          description: The timestamp when the scheduled report was created.
        updatedAt:
          type: string
          format: date-time
          description: The timestamp when the scheduled report was last modified.
        lastExecutionAt:
          type: string
          format: date-time
          description: The timestamp of the most recent execution of the scheduled report.
        healthStatus:
          $ref: '#/components/schemas/BcmDashboardsHealthStatus'
      required:
      - name
      - dashboardArn
      - scheduledReportExecutionRoleArn
      - scheduleConfig
    ScheduledReportInput:
      type: object
      properties:
        name:
          type: string
          description: The name of the scheduled report.
        dashboardArn:
          type: string
          description: The ARN of the dashboard to generate the scheduled report from.
        scheduledReportExecutionRoleArn:
          type: string
          description: The ARN of the IAM role that the scheduled report uses to execute. Amazon Web Services Billing and
            Cost Management Dashboards will assume this IAM role while executing the scheduled report.
        scheduleConfig:
          $ref: '#/components/schemas/ScheduleConfig'
        description:
          type: string
          description: A description of the scheduled report's purpose or contents.
        widgetIds:
          type: array
          items:
            type: string
          description: The list of widget identifiers to include in the scheduled report. If not specified, all widgets in
            the dashboard are included.
        widgetDateRangeOverride:
          $ref: '#/components/schemas/DateTimeRange'
      required:
      - name
      - dashboardArn
      - scheduledReportExecutionRoleArn
      - scheduleConfig
    ScheduledReportSummary:
      type: object
      properties:
        arn:
          type: string
          description: The ARN of the scheduled report.
        name:
          type: string
          description: The name of the scheduled report.
        dashboardArn:
          type: string
          description: The ARN of the dashboard associated with the scheduled report.
        scheduleExpression:
          type: string
          description: The schedule expression that defines when the report runs.
        state:
          type: string
          enum:
          - ENABLED
          - DISABLED
          description: 'The state of the schedule: ENABLED or DISABLED.'
        healthStatus:
          $ref: '#/components/schemas/BcmDashboardsHealthStatus'
        scheduleExpressionTimeZone:
          type: string
          description: The time zone for the schedule expression, for example, UTC.
        widgetIds:
          type: array
          items:
            type: string
          description: The list of widget identifiers included in the scheduled report.
      required:
      - arn
      - name
      - dashboardArn
      - scheduleExpression
      - state
      - healthStatus
    ThrottlingException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    UpdateScheduledReportRequest:
      type: object
      properties:
        arn:
          type: string
          description: The ARN of the scheduled report to update.
        name:
          type: string
          description: The new name for the scheduled report.
        description:
          type: string
          description: The new description for the scheduled report.
        dashboardArn:
          type: string
          description: The ARN of the dashboard to associate with the scheduled report.
        scheduledReportExecutionRoleArn:
          type: string
          description: The ARN of the IAM role that the scheduled report uses to execute. Amazon Web Services Billing and
            Cost Management Dashboards will assume this IAM role while executing the scheduled report.
        scheduleConfig:
          $ref: '#/components/schemas/ScheduleConfig'
        widgetIds:
          type: array
          items:
            type: string
          description: The list of widget identifiers to include in the scheduled report. If not specified, all widgets in
            the dashboard are included.
        widgetDateRangeOverride:
          $ref: '#/components/schemas/DateTimeRange'
        clearWidgetIds:
          type: boolean
          description: Set to true to clear existing widgetIds.
        clearWidgetDateRangeOverride:
          type: boolean
          description: Set to true to clear existing widgetDateRangeOverride.
      required:
      - arn
    UpdateScheduledReportResponse:
      type: object
      properties:
        arn:
          type: string
          description: The ARN of the updated scheduled report.
      required:
      - arn
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/bcm-dashboards/service/2025-08-18/bcm-dashboards-2025-08-18.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)