Amazon Billing And Cost Management Billing And Cost Management Contract API

The Billing And Cost Management Contract API from Amazon Billing And Cost Management — 3 operation(s) for billing and cost management contract.

GitHub OpenAPI

Operations 3

POST /#AssociateContract Associate Contract #
POST /#DisassociateContract Disassociate Contract #
POST /#ListContracts List Contracts #

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-contract-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-contract-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS Cost Explorer Service Contract API
  version: '2017-10-25'
  description: Generated from AWS's published Smithy model for AWS Cost Explorer Service. 3 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://billing.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /#AssociateContract:
    post:
      operationId: AssociateContract
      summary: Associate Contract
      description: Private Pricing contracts let eligible payer accounts manage private pricing agreements with Amazon Web
        Services. This operation associates a private pricing contract with the caller's Amazon Web Services account. The
        caller must be a payer (management) account listed on the contract. This operation is idempotent, so retrying a request
        that already succeeded is safe.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/AssociateContractResponse'
              example: {}
        '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/ConflictException'
        '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/BillingResourceNotFoundException'
        '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/ValidationException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSBilling.AssociateContract
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/AssociateContractRequest'
            example:
              contractArn: arn:aws:billing::123456789012:contract/1a2b3c4d-5e6f-7a8b-9c0d-111122223333
              contractDocumentId: CC OTH XXXXXXXX XXXX TR
      tags:
      - Contract
  /#DisassociateContract:
    post:
      operationId: DisassociateContract
      summary: Disassociate Contract
      description: Removes the association between a private pricing contract and your Amazon Web Services account. The account
        must have been associated with the contract previously. This operation is idempotent, so retrying is safe.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/DisassociateContractResponse'
              example: {}
        '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/BillingResourceNotFoundException'
        '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/ValidationException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSBilling.DisassociateContract
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/DisassociateContractRequest'
            example:
              contractArn: arn:aws:billing::123456789012:contract/1a2b3c4d-5e6f-7a8b-9c0d-111122223333
      tags:
      - Contract
  /#ListContracts:
    post:
      operationId: ListContracts
      summary: List Contracts
      description: Lists the private pricing contracts that your Amazon Web Services account is an eligible payer account
        of. This operation is read-only and paginated.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.0:
              schema:
                $ref: '#/components/schemas/ListContractsResponse'
              example:
                items:
                - contractArn: arn:aws:billing::123456789012:contract/1a2b3c4d-5e6f-7a8b-9c0d-111122223333
                  contractTerm:
                    startDateInclusive: 1111111111
                    endDateInclusive: 1222222222
                  contractType: Cross-Service
                  associationStatus: ASSOCIATED
        '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/ValidationException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSBilling.ListContracts
      requestBody:
        required: true
        content:
          application/x-amz-json-1.0:
            schema:
              $ref: '#/components/schemas/ListContractsRequest'
            example:
              maxResults: 100
      tags:
      - Contract
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: billing
  schemas:
    AccessDeniedException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    AssociateContractRequest:
      type: object
      properties:
        contractArn:
          type: string
          description: The Amazon Resource Name (ARN) of the contract to associate with your account.
        contractDocumentId:
          type: string
          description: The contract ID from the contract document. It can be found in the top right corner of your contract's
            pages. This value confirms that you have access to the contract you are associating.
      required:
      - contractArn
      - contractDocumentId
    AssociateContractResponse:
      type: object
      properties: {}
    BillingResourceNotFoundException:
      type: object
      properties:
        message:
          type: string
        resourceId:
          type: string
          description: Value is a list of resource IDs that were not found.
        resourceType:
          type: string
          description: Value is the type of resource that was not found.
      required:
      - message
      - resourceId
      - resourceType
    ConflictException:
      type: object
      properties:
        message:
          type: string
        resourceId:
          type: string
          description: The identifier for the service resource associated with the request.
        resourceType:
          type: string
          description: The type of resource associated with the request.
      required:
      - message
      - resourceId
      - resourceType
    ContractSummary:
      type: object
      properties:
        contractArn:
          type: string
          description: The Amazon Resource Name (ARN) of the contract. Pass this value to operations such as GetContractInformation,
            ListContractualInvestmentSummaries, and AssociateContract.
        contractTerm:
          $ref: '#/components/schemas/Interval'
        contractType:
          type: string
          enum:
          - Cross-Service
          - Service-Specific
          - Other
          description: The classification of the contract. Valid values are Cross-Service, Service-Specific, and Other. Cross-Service
            applies across multiple Amazon Web Services services. Service-Specific applies to a specific Amazon Web Services
            service. Other applies to other arrangements.
        associationStatus:
          type: string
          enum:
          - ASSOCIATED
          - NOT_ASSOCIATED
          description: Indicates whether the contract is currently associated with your account. Valid values are ASSOCIATED
            and NOT_ASSOCIATED. ASSOCIATED means the contract is associated with your account. NOT_ASSOCIATED means the contract
            is not associated with your account.
        lastUpdatedAt:
          type: string
          description: The time when the contract was last associated with your account.
      required:
      - contractArn
      - contractTerm
      - associationStatus
    DisassociateContractRequest:
      type: object
      properties:
        contractArn:
          type: string
          description: The Amazon Resource Name (ARN) of the contract to disassociate from your account.
      required:
      - contractArn
    DisassociateContractResponse:
      type: object
      properties: {}
    InternalServerException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    Interval:
      type: object
      properties:
        startDateInclusive:
          type: string
          description: The start date of the interval. This date is included in the interval.
        endDateInclusive:
          type: string
          description: The end date of the interval. This date is included in the interval.
      required:
      - startDateInclusive
      - endDateInclusive
    ListContractsRequest:
      type: object
      properties:
        nextToken:
          type: string
          description: The pagination token that indicates the next set of results to retrieve.
        maxResults:
          type: integer
          description: The maximum number of contracts to return in a single call. Minimum value of 1, maximum value of 100.
    ListContractsResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ContractSummary'
          description: The list of contracts that your Amazon Web Services account is an eligible payer account of.
        nextToken:
          type: string
          description: The pagination token to use on subsequent calls to retrieve the next set of results.
      required:
      - items
    ThrottlingException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    ValidationException:
      type: object
      properties:
        message:
          type: string
        reason:
          type: string
          enum:
          - unknownOperation
          - cannotParse
          - fieldValidationFailed
          - other
          description: The input fails to satisfy the constraints specified by an Amazon Web Services service.
        fieldList:
          type: array
          items:
            $ref: '#/components/schemas/ValidationExceptionField'
          description: The input fails to satisfy the constraints specified by an Amazon Web Services service.
      required:
      - message
      - reason
    ValidationExceptionField:
      type: object
      properties:
        name:
          type: string
          description: The name of the field.
        message:
          type: string
          description: The message describing why the field failed validation.
      required:
      - name
      - message
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/3cd98287b471c106254abd89279cc87308d38bfd/models/billing/service/2023-09-07/billing-2023-09-07.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)