Amazon Billing And Cost Management Billing And Cost Management Bill Estimate API

The Billing And Cost Management Bill Estimate API from Amazon Billing And Cost Management — 5 operation(s) for billing and cost management bill estimate.

GitHub OpenAPI

Operations 5

POST /#CreateBillEstimate Create Bill Estimate #
POST /#GetBillEstimate Get Bill Estimate #
POST /#UpdateBillEstimate Update Bill Estimate #
POST /#DeleteBillEstimate Delete Bill Estimate #
POST /#ListBillEstimates List Bill Estimates #

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-bill-estimate-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-bill-estimate-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS Cost Explorer Service Bill Estimate API
  version: '2017-10-25'
  description: Generated from AWS's published Smithy model for AWS Cost Explorer Service. 5 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-pricing-calculator.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /#CreateBillEstimate:
    post:
      operationId: CreateBillEstimate
      summary: Create Bill Estimate
      description: 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.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/CreateBillEstimateResponse'
        '409':
          description: ConflictException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorConflictException'
        '400':
          description: DataUnavailableException; ValidationException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorDataUnavailableException'
        '404':
          description: ResourceNotFoundException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorResourceNotFoundException'
        '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/BcmPricingCalculatorInternalServerException'
        '429':
          description: ThrottlingException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorThrottlingException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSBCMPricingCalculator.CreateBillEstimate
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/CreateBillEstimateRequest'
      tags:
      - Bill Estimate
  /#GetBillEstimate:
    post:
      operationId: GetBillEstimate
      summary: Get Bill Estimate
      description: Retrieves details of a specific bill estimate.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/GetBillEstimateResponse'
        '400':
          description: DataUnavailableException; ValidationException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorDataUnavailableException'
        '404':
          description: ResourceNotFoundException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorResourceNotFoundException'
        '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/BcmPricingCalculatorInternalServerException'
        '429':
          description: ThrottlingException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorThrottlingException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSBCMPricingCalculator.GetBillEstimate
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/GetBillEstimateRequest'
      tags:
      - Bill Estimate
  /#UpdateBillEstimate:
    post:
      operationId: UpdateBillEstimate
      summary: Update Bill Estimate
      description: Updates an existing bill estimate.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/UpdateBillEstimateResponse'
        '409':
          description: ConflictException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorConflictException'
        '400':
          description: DataUnavailableException; ValidationException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorDataUnavailableException'
        '404':
          description: ResourceNotFoundException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorResourceNotFoundException'
        '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/BcmPricingCalculatorInternalServerException'
        '429':
          description: ThrottlingException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorThrottlingException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSBCMPricingCalculator.UpdateBillEstimate
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/UpdateBillEstimateRequest'
      tags:
      - Bill Estimate
  /#DeleteBillEstimate:
    post:
      operationId: DeleteBillEstimate
      summary: Delete Bill Estimate
      description: Deletes an existing bill estimate.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/DeleteBillEstimateResponse'
        '409':
          description: ConflictException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorConflictException'
        '400':
          description: DataUnavailableException; ValidationException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorDataUnavailableException'
        '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/BcmPricingCalculatorInternalServerException'
        '429':
          description: ThrottlingException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorThrottlingException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSBCMPricingCalculator.DeleteBillEstimate
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/DeleteBillEstimateRequest'
      tags:
      - Bill Estimate
  /#ListBillEstimates:
    post:
      operationId: ListBillEstimates
      summary: List Bill Estimates
      description: Lists all bill estimates for the account.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/ListBillEstimatesResponse'
        '400':
          description: DataUnavailableException; ValidationException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorDataUnavailableException'
        '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/BcmPricingCalculatorInternalServerException'
        '429':
          description: ThrottlingException
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/BcmPricingCalculatorThrottlingException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSBCMPricingCalculator.ListBillEstimates
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/ListBillEstimatesRequest'
      tags:
      - Bill Estimate
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-pricing-calculator
  schemas:
    AccessDeniedException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    BcmPricingCalculatorConflictException:
      type: object
      properties:
        message:
          type: string
        resourceId:
          type: string
          description: The identifier of the resource that was not found.
        resourceType:
          type: string
          description: The type of the resource that was not found.
      required:
      - message
      - resourceId
      - resourceType
    BcmPricingCalculatorDataUnavailableException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    BcmPricingCalculatorInternalServerException:
      type: object
      properties:
        message:
          type: string
        retryAfterSeconds:
          type: integer
          description: An internal error has occurred. Retry your request, but if the problem persists, contact Amazon Web
            Services support.
      required:
      - message
    BcmPricingCalculatorResourceNotFoundException:
      type: object
      properties:
        message:
          type: string
        resourceId:
          type: string
          description: The identifier of the resource that was not found.
        resourceType:
          type: string
          description: The type of the resource that was not found.
      required:
      - message
      - resourceId
      - resourceType
    BcmPricingCalculatorThrottlingException:
      type: object
      properties:
        message:
          type: string
        serviceCode:
          type: string
          description: The service code that exceeded the throttling limit.
        quotaCode:
          type: string
          description: The quota code that exceeded the throttling limit.
        retryAfterSeconds:
          type: integer
          description: The service code that exceeded the throttling limit. Retry your request, but if the problem persists,
            contact Amazon Web Services support.
      required:
      - message
    BillEstimateCostSummary:
      type: object
      properties:
        totalCostDifference:
          $ref: '#/components/schemas/CostDifference'
        serviceCostDifferences:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CostDifference'
          description: A breakdown of cost differences by Amazon Web Services service.
    BillEstimateSummary:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the bill estimate.
        name:
          type: string
          description: The name of the bill estimate.
        status:
          type: string
          enum:
          - IN_PROGRESS
          - COMPLETE
          - FAILED
          description: The current status of the bill estimate.
        billInterval:
          $ref: '#/components/schemas/BillInterval'
        createdAt:
          type: string
          description: The timestamp when the bill estimate was created.
        expiresAt:
          type: string
          description: The timestamp when the bill estimate will expire.
      required:
      - id
    BillInterval:
      type: object
      properties:
        start:
          type: string
          description: The start date and time of the interval.
        end:
          type: string
          description: The end date and time of the interval.
    CostAmount:
      type: object
      properties:
        amount:
          type: number
          description: The numeric value of the cost.
        currency:
          type: string
          enum:
          - USD
          description: The currency code for the cost amount.
    CostDifference:
      type: object
      properties:
        historicalCost:
          $ref: '#/components/schemas/CostAmount'
        estimatedCost:
          $ref: '#/components/schemas/CostAmount'
    CreateBillEstimateRequest:
      type: object
      properties:
        billScenarioId:
          type: string
          description: The ID of the Bill Scenario for which you want to create a Bill estimate.
        name:
          type: string
          description: The name of the Bill estimate that will be created. Names must be unique for an account.
        clientToken:
          type: string
          description: A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
        tags:
          type: object
          additionalProperties:
            type: string
          description: '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 Web Services. 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 ch'
      required:
      - billScenarioId
      - name
    CreateBillEstimateResponse:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of your newly created Bill estimate.
        name:
          type: string
          description: The name of your newly created Bill estimate.
        status:
          type: string
          enum:
          - IN_PROGRESS
          - COMPLETE
          - FAILED
          description: 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.
        failureMessage:
          type: string
          description: This attribute provides the reason if a Bill estimate result generation fails.
        billInterval:
          $ref: '#/components/schemas/BillInterval'
        costSummary:
          $ref: '#/components/schemas/BillEstimateCostSummary'
        createdAt:
          type: string
          description: The timestamp of when the Bill estimate create process was started (not when it successfully completed
            or failed).
        expiresAt:
          type: string
          description: The timestamp of when the Bill estimate will expire. A Bill estimate becomes inaccessible after expiration.
        groupSharingPreference:
          type: string
          enum:
          - OPEN
          - PRIORITIZED
          - RESTRICTED
          description: The setting for the reserved instance and savings plan group sharing used in this estimate.
        costCategoryGroupSharingPreferenceArn:
          type: string
          description: The arn of the cost category used in the reserved and prioritized group sharing.
        costCategoryGroupSharingPreferenceEffectiveDate:
          type: string
          description: Timestamp of the effective date of the cost category used in the group sharing settings.
      required:
      - id
    DeleteBillEstimateRequest:
      type: object
      properties:
        identifier:
          type: string
          description: The unique identifier of the bill estimate to delete.
      required:
      - identifier
    DeleteBillEstimateResponse:
      type: object
      properties: {}
    FilterTimestamp:
      type: object
      properties:
        afterTimestamp:
          type: string
          description: Include results after this timestamp.
        beforeTimestamp:
          type: string
          description: Include results before this timestamp.
    GetBillEstimateRequest:
      type: object
      properties:
        identifier:
          type: string
          description: The unique identifier of the bill estimate to retrieve.
      required:
      - identifier
    GetBillEstimateResponse:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the retrieved bill estimate.
        name:
          type: string
          description: The name of the retrieved bill estimate.
        status:
          type: string
          enum:
          - IN_PROGRESS
          - COMPLETE
          - FAILED
          description: The current status of the bill estimate.
        failureMessage:
          type: string
          description: An error message if the bill estimate retrieval failed.
        billInterval:
          $ref: '#/components/schemas/BillInterval'
        costSummary:
          $ref: '#/components/schemas/BillEstimateCostSummary'
        createdAt:
          type: string
          description: The timestamp when the bill estimate was created.
        expiresAt:
          type: string
          description: The timestamp when the bill estimate will expire.
        groupSharingPreference:
          type: string
          enum:
          - OPEN
          - PRIORITIZED
          - RESTRICTED
          description: The setting for the reserved instance and savings plan group sharing used in this estimate.
        costCategoryGroupSharingPreferenceArn:
          type: string
          description: The arn of the cost category used in the reserved and prioritized group sharing.
        costCategoryGroupSharingPreferenceEffectiveDate:
          type: string
          description: Timestamp of the effective date of the cost category used in the group sharing settings.
      required:
      - id
    ListBillEstimatesFilter:
      type: object
      properties:
        name:
          type: string
          enum:
          - STATUS
          - NAME
          description: The name of the filter attribute.
        values:
          type: array
          items:
            type: string
          description: The values to filter by.
        matchOption:
          type: string
          enum:
          - EQUALS
          - STARTS_WITH
          - CONTAINS
          description: The match option for the filter (e.g., equals, contains).
      required:
      - name
      - values
    ListBillEstimatesRequest:
      type: object
      properties:
        filters:
          type: array
          items:
            $ref: '#/components/schemas/ListBillEstimatesFilter'
          description: Filters to apply to the list of bill estimates.
        createdAtFilter:
          $ref: '#/components/schemas/FilterTimestamp'
        expiresAtFilter:
          $ref: '#/components/schemas/FilterTimestamp'
        nextToken:
          type: string
          description: A token to retrieve the next page of results.
        maxResults:
          type: integer
          description: The maximum number of results to return per page.
    ListBillEstimatesResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/BillEstimateSummary'
          description: The list of bill estimates for the account.
        nextToken:
          type: string
          description: A token to retrieve the next page of results, if any.
    UpdateBillEstimateRequest:
      type: object
      properties:
        identifier:
          type: string
          description: The unique identifier of the bill estimate to update.
        name:
          type: string
          description: The new name for the bill estimate.
        expiresAt:
          type: string
          description: The new expiration date for the bill estimate.
      required:
      - identifier
    UpdateBillEstimateResponse:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the updated bill estimate.
        name:
          type: string
          description: The updated name of the bill estimate.
        status:
          type: string
          enum:
          - IN_PROGRESS
          - COMPLETE
          - FAILED
          description: The current status of the updated bill estimate.
        failureMessage:
          type: string
          description: An error message if the bill estimate update failed.
        billInterval:
          $ref: '#/components/schemas/BillInterval'
        costSummary:
          $ref: '#/components/schemas/BillEstimateCostSummary'
        createdAt:
          type: string
          description: The timestamp when the bill estimate was originally created.
        expiresAt:
          type: string
          description: The updated expiration timestamp for the bill estimate.
        groupSharingPreference:
          type: string
          enum:
          - OPEN
          - PRIORITIZED
          - RESTRICTED
          description: The setting for the reserved instance and savings plan group sharing used in this estimate.
        costCategoryGroupSharingPreferenceArn:
          type: string
          description: The arn of the cost category used in the reserved and prioritized group sharing.
        costCategoryGroupSharingPreferenceEffectiveDate:
          type: string
          description: Timestamp of the effective date of the cost category used in the group sharing settings.
      required:
      - id
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/bcm-pricing-calculator/service/2024-06-19/bcm-pricing-calculator-2024-06-19.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)