Vantage BillingRules API

Operations about BillingRules

Operations 5

GET /billing_rules Get all billing rules #
POST /billing_rules Create billing rule #
GET /billing_rules/{billing_rule_token} Get billing rule by token #
PUT /billing_rules/{billing_rule_token} Update billing rule #
DELETE /billing_rules/{billing_rule_token} Delete billing rule #

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/vantage-sh-billingrules-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

vantage-sh-billingrules-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vantage AccessGrants Billing Rules API
  description: The Vantage API provides programmatic access to the Vantage cloud cost management and FinOps platform. It covers cost reporting and querying (Costs, Cost Reports, forecasts, unit costs), cost visibility and optimization (Resources, Recommendations, Financial Commitments, Kubernetes efficiency), governance and alerting (Budgets, Budget Alerts, Cost Alerts, Anomaly Alerts and Notifications), organization (Segments, Folders, Saved Filters, Dashboards, Workspaces, Teams), and billing (Billing Profiles, Billing Rules, Invoices). The API spans AWS, Azure, GCP, Kubernetes, Datadog, Snowflake, MongoDB, and other supported providers. Base URL https://api.vantage.sh/v2. Authentication is via OAuth2 (client credentials / bearer token) with read and write scopes.
  termsOfService: https://www.vantage.sh/terms-of-use
  contact:
    name: Vantage Support
    url: https://www.vantage.sh
    email: support@vantage.sh
  version: 2.0.0
servers:
- url: https://api.vantage.sh/v2
security:
- oauth2:
  - read
tags:
- name: BillingRules
  description: Operations about BillingRules
paths:
  /billing_rules:
    get:
      tags:
      - BillingRules
      summary: Get all billing rules
      description: Returns a list of billing rules.
      operationId: getBillingRules
      parameters:
      - name: page
        in: query
        description: The page of results to return.
        schema:
          type: integer
          format: int32
      - name: limit
        in: query
        description: The amount of results to return. The maximum is 1000.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingRules'
              example:
                links:
                  self: https://api.vantage.sh/v2/billing_rules
                  first: https://api.vantage.sh/v2/billing_rules?page=1
                  next: null
                  last: https://api.vantage.sh/v2/billing_rules?page=1
                  prev: null
                billing_rules:
                - token: bllng_rule_ac6852c686e265a1
                  title: Exclude Reserved Instance Fees
                  type: Exclusion
                  created_by_token: usr_018532419bd2e1da
                  created_at: '2024-07-02T15:26:51Z'
                  charge_type: Reserved Instance Fees
      security:
      - oauth2:
        - read
    post:
      tags:
      - BillingRules
      summary: Create billing rule
      description: Create a BillingRule.
      operationId: createBillingRule
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createBillingRule'
        required: true
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingRule'
              example:
                token: bllng_rule_9cc9eab6bb73266b
                title: Credit for Data Transfer
                type: Credit
                created_by_token: usr_ae0b14f6c9108edc
                created_at: '2024-07-02T15:26:52Z'
                service: Amazon S3
                category: Data Transfer
                sub_category: Outbound
                start_period: '2024-05-01'
                amount: '300.0'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - write
      x-codegen-request-body-name: createBillingRule
  /billing_rules/{billing_rule_token}:
    get:
      tags:
      - BillingRules
      summary: Get billing rule by token
      description: Return a BillingRule.
      operationId: getBillingRule
      parameters:
      - name: billing_rule_token
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingRule'
              example:
                token: bllng_rule_a2708f17b2d3fb0e
                title: Exclude Reserved Instance Fees
                type: Exclusion
                created_by_token: usr_d253a52c80171514
                created_at: '2024-07-02T15:26:50Z'
                charge_type: Reserved Instance Fees
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - read
    put:
      tags:
      - BillingRules
      summary: Update billing rule
      description: Update a BillingRule.
      operationId: updateBillingRule
      parameters:
      - name: billing_rule_token
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateBillingRule'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingRule'
              example:
                token: bllng_rule_16c2d217f026d23e
                title: Updated Adjustment
                type: Adjustment
                created_by_token: usr_cef510966067477f
                created_at: '2024-07-02T15:26:52Z'
                service: Amazon S3
                category: Data Transfer
                adjusted_rate: '0.85'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - write
      x-codegen-request-body-name: updateBillingRule
    delete:
      tags:
      - BillingRules
      summary: Delete billing rule
      description: Delete a BillingRule.
      operationId: deleteBillingRule
      parameters:
      - name: billing_rule_token
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingRule'
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - write
components:
  schemas:
    Errors:
      required:
      - errors
      type: object
      properties:
        links:
          $ref: '#/components/schemas/Links'
        errors:
          type: array
          items:
            type: string
      description: Errors model
    Links:
      type: object
      properties:
        self:
          type:
          - string
          - 'null'
          description: The URL of the current page of results.
        first:
          type:
          - string
          - 'null'
          description: The URL of the first page of results.
        next:
          type:
          - string
          - 'null'
          description: The URL of the next page of results, if one exists.
        last:
          type:
          - string
          - 'null'
          description: The URL of the last page of results, if one exists.
        prev:
          type:
          - string
          - 'null'
          description: The URL of the previous page of results, if one exists.
    updateBillingRule:
      type: object
      properties:
        title:
          type: string
          description: The title of the BillingRule.
        charge_type:
          type: string
          description: The charge type of the BillingRule.
        percentage:
          type: number
          description: 'The percentage of the cost shown. Example value: 75.0'
          format: double
        service:
          type: string
          description: The service of the BillingRule.
        category:
          type: string
          description: The category of the BillingRule.
        sub_category:
          type: string
          description: The subcategory of the BillingRule.
        start_period:
          type: string
          description: The start period of the BillingRule.
        amount:
          type: number
          description: 'The credit amount for the BillingRule. Example value: 300'
          format: double
        start_date:
          type: string
          description: The start date of the BillingRule. ISO 8601 formatted.
        end_date:
          type: string
          description: The end date of the BillingRule. ISO 8601 formatted.
        apply_to_all:
          type: boolean
          description: Determines if the BillingRule applies to all current and future managed accounts.
          x-omitempty: false
        sql_query:
          type: string
          description: The SQL query of the BillingRule.
      description: Update a BillingRule.
    BillingRule:
      required:
      - apply_to_all
      - created_at
      - created_by_token
      - title
      - token
      - type
      type: object
      properties:
        token:
          type: string
        title:
          type: string
          description: The title of the BillingRule.
          example: Credit for Unused EC2 Instances
        type:
          type: string
          description: The type of the BillingRule.
          example: credit
        start_date:
          type:
          - string
          - 'null'
          description: The start date of the BillingRule.
          example: '2024-06-28T00:00:00Z'
        end_date:
          type:
          - string
          - 'null'
          description: The end date of the BillingRule.
          example: '2024-06-28T00:00:00Z'
        apply_to_all:
          type:
          - boolean
          - 'null'
          description: Whether the BillingRule applies to all future managed accounts.
          example: true
        created_by_token:
          type: string
          description: The token of the Creator of the BillingRule.
          example: usr_1234
        created_at:
          type: string
          description: The date and time, in UTC, the BillingRule was created. ISO 8601 Formatted.
          example: '2024-06-28T00:00:00Z'
        service:
          type:
          - string
          - 'null'
          description: The service for the BillingRule (Charge).
          example: AWS Cloudfront
        category:
          type:
          - string
          - 'null'
          description: The category for the BillingRule (Charge).
          example: MSP Fee
        percentage:
          type:
          - string
          - 'null'
          description: The percentage of the cost shown for the BillingRule (Adjustment).
          example: '75.0'
        charge_type:
          type:
          - string
          - 'null'
          description: The charge type for the BillingRule.
          example: RIFee
        sub_category:
          type:
          - string
          - 'null'
          description: The subcategory for the BillingRule (Charge).
          example: One-time
        start_period:
          type:
          - string
          - 'null'
          description: The start period for the BillingRule (Charge).
          example: '2024-05-01'
        amount:
          type:
          - string
          - 'null'
          description: The amount for the BillingRule (Charge).
          example: '5000.25'
        sql_query:
          type:
          - string
          - 'null'
          description: The SQL query for the BillingRule (Custom).
          example: UPDATE costs SET costs.amount = costs.amount * 0.95
      description: BillingRule model
    BillingRules:
      required:
      - billing_rules
      type: object
      properties:
        links:
          $ref: '#/components/schemas/Links'
        billing_rules:
          type: array
          items:
            $ref: '#/components/schemas/BillingRule'
      description: BillingRules model
    createBillingRule:
      required:
      - title
      - type
      type: object
      properties:
        type:
          type: string
          description: 'The type of the BillingRule. Note: the values are case insensitive.'
          enum:
          - exclusion
          - adjustment
          - credit
          - charge
          - custom
        title:
          type: string
          description: The title of the BillingRule.
        start_period:
          type: string
          description: 'The start period of the BillingRule. DEPRECATED: use start_date instead.'
        start_date:
          type: string
          description: The start date of the BillingRule. ISO 8601 formatted.
        end_date:
          type: string
          description: The end date of the BillingRule. ISO 8601 formatted.
        apply_to_all:
          type: boolean
          description: Determines if the BillingRule applies to all current and future managed accounts.
        charge_type:
          type: string
          description: The charge type of the BillingRule. Required for Exclusion rules.
        percentage:
          type: number
          description: 'The percentage of the cost shown. Required for Adjustment rules. Example value: 75.0'
          format: double
        service:
          type: string
          description: The service of the BillingRule. Required for Charge and Credit rules.
        category:
          type: string
          description: The category of the BillingRule. Required for Charge and Credit rules.
        sub_category:
          type: string
          description: The subcategory of the BillingRule. Required for Charge and Credit rules.
        amount:
          type: number
          description: 'The amount for the BillingRule. Required for Charge and Credit rules. Example value: 300'
          format: double
        sql_query:
          type: string
          description: 'The SQL query for the BillingRule. Required for Custom rules. Example value: UPDATE costs SET costs.amount = costs.amount * 0.95'
      description: Create a BillingRule.
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://console.vantage.sh/account/profile
          scopes:
            read: Grants read access
            write: Grants write access
x-original-swagger-version: '2.0'