Chronosphere Consumption Budget API

The ConsumptionBudget API from Chronosphere — 2 operation(s) for consumptionbudget.

Operations 5

GET /api/v1/config/consumption-budgets List consumption budgets #
POST /api/v1/config/consumption-budgets Create consumption budget #
DELETE /api/v1/config/consumption-budgets/{slug} Delete consumption budget #
GET /api/v1/config/consumption-budgets/{slug} Read consumption budget #
PUT /api/v1/config/consumption-budgets/{slug} Update consumption budget #

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/chronosphere-consumptionbudget-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

chronosphere-consumptionbudget-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'The Config API provides standard HTTP/JSON REST endpoints for creating, reading,

    updating, deleting, and listing configurable Chronosphere resources.


    Use this link to download the raw Swagger specification:

    /api/v1/config/swagger.json'
  title: Config V1 Consumption Budget API
  version: v1
servers:
- url: https://{tenant}.chronosphere.io
  variables:
    tenant:
      default: tenant
      description: tenant ID assigned by the service provider
security:
- ApiKeyAuth: []
tags:
- name: ConsumptionBudget
paths:
  /api/v1/config/consumption-budgets:
    get:
      operationId: ListConsumptionBudgets
      parameters:
      - description: 'Sets the preferred number of items to return per page. If set to `0`, the

          server will use its default value. Regardless of the value specified, clients

          must never assume how many items will be returned.'
        in: query
        name: page.max_size
        schema:
          format: int64
          type: integer
      - description: 'An opaque page token that identifies which page the client should request.

          An empty value indicates the first page.'
        in: query
        name: page.token
        schema:
          type: string
      - description: Filters results by slug, where any ConsumptionBudget with a matching slug in the given list (and matches all other filters) will be returned.
        in: query
        name: slugs
        schema:
          items:
            type: string
          type: array
      - description: Filters results by name, where any ConsumptionBudget with a matching name in the given list (and matches all other filters) will be returned.
        in: query
        name: names
        schema:
          items:
            type: string
          type: array
      - description: Filters results by partition_slug_path, where any ConsumptionBudget with a matching partition_slug_path in the given list (and matches all other filters) will be returned.
        in: query
        name: partition_slug_paths
        schema:
          items:
            type: string
          type: array
      - description: Filters results by resource, where any ConsumptionBudget with a matching resource in the given list (and matches all other filters) will be returned.
        in: query
        name: resources
        schema:
          items:
            enum:
            - LOG_PERSISTED_BYTES
            - LOG_PROCESSED_BYTES
            - METRIC_PERSISTED_SERIES
            - METRIC_ALL
            - LOG_ALL
            - TRACE_PROCESSED_BYTES
            - TRACE_PERSISTED_BYTES
            - TRACE_ALL
            - ALL
            type: string
          type: array
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1ListConsumptionBudgetsResponse'
          description: A successful response.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: An unexpected error response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/genericError'
          description: An undefined error response.
      tags:
      - ConsumptionBudget
      summary: List consumption budgets
      x-summary-source: derived
    post:
      operationId: CreateConsumptionBudget
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/configv1CreateConsumptionBudgetRequest'
        required: true
        x-originalParamName: body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1CreateConsumptionBudgetResponse'
          description: A successful response containing the created ConsumptionBudget.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot create the ConsumptionBudget because the request is invalid.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot create the ConsumptionBudget because there is a conflict with an existing ConsumptionBudget.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: An unexpected error response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/genericError'
          description: An undefined error response.
      tags:
      - ConsumptionBudget
      summary: Create consumption budget
      x-summary-source: derived
  /api/v1/config/consumption-budgets/{slug}:
    delete:
      operationId: DeleteConsumptionBudget
      parameters:
      - in: path
        name: slug
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1DeleteConsumptionBudgetResponse'
          description: A successful response.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot delete the ConsumptionBudget because it is in use.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot delete the ConsumptionBudget because the slug does not exist.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: An unexpected error response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/genericError'
          description: An undefined error response.
      tags:
      - ConsumptionBudget
      summary: Delete consumption budget
      x-summary-source: derived
    get:
      operationId: ReadConsumptionBudget
      parameters:
      - in: path
        name: slug
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1ReadConsumptionBudgetResponse'
          description: A successful response.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot read the ConsumptionBudget because the slug does not exist.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: An unexpected error response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/genericError'
          description: An undefined error response.
      tags:
      - ConsumptionBudget
      summary: Read consumption budget
      x-summary-source: derived
    put:
      operationId: UpdateConsumptionBudget
      parameters:
      - in: path
        name: slug
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigV1UpdateConsumptionBudgetBody'
        required: true
        x-originalParamName: body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1UpdateConsumptionBudgetResponse'
          description: A successful response containing the updated ConsumptionBudget.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot update the ConsumptionBudget because the request is invalid.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot update the ConsumptionBudget because the slug does not exist.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: Cannot update the ConsumptionBudget because there is a conflict with an existing ConsumptionBudget.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
          description: An unexpected error response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/genericError'
          description: An undefined error response.
      tags:
      - ConsumptionBudget
      summary: Update consumption budget
      x-summary-source: derived
components:
  schemas:
    ConsumptionBudgetAlertActionConfig:
      properties:
        annotations:
          additionalProperties:
            type: string
          description: 'Additional annotations to set on the generated monitor. By default, the

            monitors already contain "description", "dashboard", "resource",

            "consumption_budget_slug", "threshold_type", and "partition" annotations.

            Setting any of these annotations will override its default value.'
          type: object
        instant_rate_sustain_secs:
          description: 'How long instant rate consumption must sustain above the threshold in

            order to fire an alert. By default, the sustain is 0: any consumption

            over the threshold will fire an alert.'
          format: int32
          type: integer
        labels:
          additionalProperties:
            type: string
          description: 'Additional labels to set on the generated monitor, which can be used for

            notification routing. The following labels are reserved and cannot be

            override: "resource", "partition", and "threshold_type".'
          type: object
      type: object
    configv1UpdateConsumptionBudgetResponse:
      properties:
        consumption_budget:
          $ref: '#/components/schemas/configv1ConsumptionBudget'
      type: object
    genericError:
      additionalProperties: true
      type: object
    configv1CreateConsumptionBudgetRequest:
      properties:
        consumption_budget:
          allOf:
          - $ref: '#/components/schemas/configv1ConsumptionBudget'
          description: The ConsumptionBudget to create.
        dry_run:
          description: If `true`, validates the specified configuration without creating the ConsumptionBudget. If the specified configuration is valid, the endpoint returns a partial response without the ConsumptionBudget. If the specified configuration is invalid, the endpoint returns an error.
          type: boolean
      type: object
    ThresholdInstantRate:
      properties:
        fixed_value_per_sec:
          description: Value of the fixed rate threshold.
          format: int64
          type: string
      required:
      - fixed_value_per_sec
      type: object
    ConsumptionBudgetThresholdType:
      enum:
      - DAILY_VOLUME
      - INSTANT_RATE
      - WEEKLY_VOLUME
      - MONTHLY_VOLUME
      - HOURLY_VOLUME
      - ROLLING_1_HOUR_VOLUME
      - ROLLING_3_HOUR_VOLUME
      - ROLLING_1_DAY_VOLUME
      - ROLLING_7_DAY_VOLUME
      - ROLLING_30_MINUTE_VOLUME
      type: string
    configv1ListConsumptionBudgetsResponse:
      properties:
        consumption_budgets:
          items:
            $ref: '#/components/schemas/configv1ConsumptionBudget'
          type: array
        page:
          $ref: '#/components/schemas/configv1PageResult'
      type: object
    ConsumptionBudgetPriorityFilter:
      properties:
        dataset_slug:
          description: Deprecated. Use `log_filter` instead.
          type: string
        log_filter:
          allOf:
          - $ref: '#/components/schemas/configv1LogSearchFilter'
          description: If set, matches incoming log data by log query.
      type: object
    ConsumptionBudgetPriority:
      properties:
        filters:
          description: 'Criteria that defines which data matches the `priority`. Filters are

            concatenated together as implied `AND` operators. A request must match every

            filter to match the `priority`.'
          items:
            $ref: '#/components/schemas/ConsumptionBudgetPriorityFilter'
          type: array
        priority:
          description: 'Priority order that determines when to drop data. A priority of `10` is

            dropped first, and a priority of `1` is dropped last.'
          format: int32
          type: integer
      required:
      - filters
      - priority
      type: object
    configv1ConsumptionBudget:
      properties:
        alert_action_config:
          allOf:
          - $ref: '#/components/schemas/ConsumptionBudgetAlertActionConfig'
          description: Optional. Configures all `ALERT_WARN` & `ALERT_CRITICAL` actions for this budget.
        created_at:
          description: Timestamp of when the ConsumptionBudget was created. Cannot be set by clients.
          format: date-time
          readOnly: true
          type: string
        default_priority:
          description: 'Optional. The default priority for requests that don''t match any priority in the

            `priorities` list. If not set, then `priority=10` (dropped first) is used as the

            default.'
          format: int32
          type: integer
        name:
          description: The name of the ConsumptionBudget. You can modify this value after the ConsumptionBudget is created.
          type: string
        notification_policy_slug:
          description: 'Notification policy slug for routing alerts. Required only if `ALERT_WARN` or

            `ALERT_CRITICAL` actions are configured.'
          type: string
        partition_slug_path:
          description: 'Path of the budget''s partition, delimited by forward slashes (`/`), in the

            format `global/SLUG1/SLUG2`, where `SLUG1` is a top-level partition, and `SLUG2`

            is a child partition of `SLUG1`.


            A well-formed partition path always starts with the `global` partition slug, and

            has no leading or trailing forward slashes.'
          type: string
        priorities:
          description: 'Optional. Controls the order in which data is dropped when a drop action is

            applied. For example, a priority of 10 is dropped first, and a priority of 1 is

            dropped last. Priorities are evaluated in match order, and the first priority to

            match is applied. All other priorities are ignored. If a request does not match

            any priority, then it is assigned the `default_priority`.'
          items:
            $ref: '#/components/schemas/ConsumptionBudgetPriority'
          type: array
        resource:
          allOf:
          - $ref: '#/components/schemas/ConsumptionBudgetResourceGroup'
          description: 'Resource of the budget.

            Deprecated: use thresholds.resource_group and unit instead.'
        slug:
          description: The unique identifier of the ConsumptionBudget. If a `slug` isn't provided, one is generated based on the `name` field. You can't modify this field after the ConsumptionBudget is created.
          type: string
        thresholds:
          description: Optional. Defines which actions to take when a threshold is exceeded.
          items:
            $ref: '#/components/schemas/configv1ConsumptionBudgetThreshold'
          type: array
        updated_at:
          description: Timestamp of when the ConsumptionBudget was last updated. Cannot be set by clients.
          format: date-time
          readOnly: true
          type: string
      required:
      - name
      - partition_slug_path
      type: object
    ConfigV1UpdateConsumptionBudgetBody:
      properties:
        consumption_budget:
          allOf:
          - $ref: '#/components/schemas/configv1ConsumptionBudget'
          description: The ConsumptionBudget to update.
        create_if_missing:
          description: If `true`, the ConsumptionBudget will be created if it does not already exist, identified by `slug`. If `false`, an error will be returned if the ConsumptionBudget does not already exist.
          type: boolean
        dry_run:
          description: If `true`, validates the specified configuration without creating or updating the ConsumptionBudget. If the specified configuration is valid, the endpoint returns a partial response without the ConsumptionBudget. If the specified configuration is invalid, the endpoint returns an error.
          type: boolean
      type: object
    ConsumptionBudgetResourceGroup:
      enum:
      - LOG_PERSISTED_BYTES
      - LOG_PROCESSED_BYTES
      - METRIC_PERSISTED_SERIES
      - METRIC_ALL
      - LOG_ALL
      - TRACE_PROCESSED_BYTES
      - TRACE_PERSISTED_BYTES
      - TRACE_ALL
      - ALL
      type: string
    ThresholdVolume:
      properties:
        fixed_value:
          description: Value of the volume threshold.
          format: int64
          type: string
      required:
      - fixed_value
      type: object
    configv1LogSearchFilter:
      properties:
        query:
          description: 'Returns logs that match this query. The query can include only top-level

            operations. Nested clauses aren''t supported. Only one type of `AND` or `OR`

            operator is allowed.'
          type: string
      type: object
    ConsumptionBudgetUnit:
      enum:
      - NATIVE
      - CREDITS
      type: string
    apiError:
      properties:
        message:
          description: An error message describing what went wrong.
          type: string
      type: object
    configv1DeleteConsumptionBudgetResponse:
      type: object
    configv1ReadConsumptionBudgetResponse:
      properties:
        consumption_budget:
          $ref: '#/components/schemas/configv1ConsumptionBudget'
      type: object
    configv1ConsumptionBudgetThreshold:
      properties:
        action:
          allOf:
          - $ref: '#/components/schemas/ConsumptionBudgetThresholdAction'
          description: The specified action to take when the threshold is exceeded.
        instant_rate:
          allOf:
          - $ref: '#/components/schemas/ThresholdInstantRate'
          description: Configures the `INSTANT_RATE` threshold type.
        resource_group:
          allOf:
          - $ref: '#/components/schemas/ConsumptionBudgetResourceGroup'
          description: Specifies which resource group this threshold applies to.
        type:
          allOf:
          - $ref: '#/components/schemas/ConsumptionBudgetThresholdType'
          description: "Specifies the threshold type, which can be one of the following values.\n\n`INSTANT_RATE` sets an instantaneous rate threshold. The configured action\ntriggers when consumption exceeds the configured rate threshold, defined by\nthe `instant_rate` field. The `DROP` action accepts requests up to the\nthreshold, and drops any data over the threshold in priority order.\n\n`ROLLING_30_MINUTE_VOLUME`, `ROLLING_1_HOUR_VOLUME`,\n`ROLLING_3_HOUR_VOLUME`, `ROLLING_1_DAY_VOLUME`, and\n`ROLLING_7_DAY_VOLUME` set a volume threshold over a rolling time\nperiod. The configured action triggers when consumption over the last\ntime period (30 minutes, 1 hour, 3 hours, 1 day, or 7 days) exceeds\nthe configured threshold, defined by the `volume` field.\n\n`HOURLY_VOLUME`, `DAILY_VOLUME`, `WEEKLY_VOLUME`, and `MONTHLY_VOLUME` set a volume threshold\nover a fixed, non-overlapping time period. The configured action triggers when consumption\nover the specified time period (hourly, daily, weekly, or monthly) exceeds the\nconfigured threshold, defined by the `volume` field. Volumes reset\nto zero at the start of each time period. The `DROP` action drops all requests\nwhen a volume threshold is exceeded, regardless of priority.\n\n- `HOURLY_VOLUME` sums the consumption volume from `00:00:00` UTC` to `00:59:59` UTC\n  every hour.\n- `DAILY_VOLUME` sums the consumption volume from `00:00:00` UTC to `23:59:59` UTC\n  every day.\n- `WEEKLY_VOLUME` sums the consumption volume from `00:00:00` UTC Monday morning\n  to `23:59:59` UTC Sunday night.\n- `MONTHLY_VOLUME` sums the consumption volume from `00:00:00` UTC on the first\n  day of the month to `23:59:59` UTC on the last day of the month. For example,\n  `Jan 1 00:00:00` to `Jan 31 23:59:59`. Month thresholds are evaluated equally,\n  regardless of how many days are in the month. For example, thresholds for\n  January and February are the same, even though February has fewer days."
        unit:
          allOf:
          - $ref: '#/components/schemas/ConsumptionBudgetUnit'
          description: 'Specifies the unit of the threshold value. `NATIVE` uses the native

            unit of the resource group, e.g. bytes for `LOG_PERSISTED_BYTES`. `CREDITS`

            uses the credits cost of the resource group, if available.'
        volume:
          allOf:
          - $ref: '#/components/schemas/ThresholdVolume'
          description: Configures the `VOLUME` threshold type.
      required:
      - action
      - type
      type: object
    ConsumptionBudgetThresholdAction:
      enum:
      - ALERT_WARN
      - ALERT_CRITICAL
      - DROP
      type: string
    configv1CreateConsumptionBudgetResponse:
      properties:
        consumption_budget:
          $ref: '#/components/schemas/configv1ConsumptionBudget'
      type: object
    configv1PageResult:
      properties:
        next_token:
          description: 'An opaque page token that identifies the next page of items that the

            client should request. An empty value indicates that there are no

            more items to return.'
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: Chronosphere API token
      in: header
      name: API-Token
      type: apiKey