BrainstormRouter Budget API

The budget API from BrainstormRouter — 15 operation(s) for budget.

Operations 18

GET /auth/budget/agents Agent budget configs + leaderboard #
PUT /auth/budget/agents/{agentId} Configure a per-agent budget #
GET /auth/budget/alerts/config Budget alert thresholds + webhook config #
PUT /auth/budget/alerts/config Update budget alert configuration #
GET /auth/budget/alerts/history Recent budget alert events #
GET /auth/budget/forecast Budget forecast + anomaly detection from the last 30 days of spend #
GET /auth/budget/limits Tenant budget limits (daily + monthly) #
PUT /auth/budget/limits Update tenant budget limits (merge: null clears, undefined leaves) #
GET /auth/budget/status Tenant-level budget status (daily + monthly spent vs. limits) #
GET /v1/budget Alias of /v1/budget/status served at the bare /v1/budget path #
GET /v1/budget/agents List per-agent budget configurations and current status #
PUT /v1/budget/agents/{agentId} Set budget configuration for a specific agent #
GET /v1/budget/alerts/config Get current budget alert configuration #
PUT /v1/budget/alerts/config Update budget alert configuration (thresholds, webhook, enabled) #
GET /v1/budget/alerts/history Recent budget alert events for the tenant #
GET /v1/budget/forecast Spend forecast, projected depletion date, anomaly detection #
PUT /v1/budget/limits Update tenant-level daily and monthly budget limits #
GET /v1/budget/status Current tenant + key spend against daily/monthly limits #

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/brainstormrouter-com:brainstormrouter-com-budget-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

brainstormrouter-com-budget-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: BrainstormRouter Budget API
  version: 1.0.0
  description: 'Autonomous AI API Engine — multi-tenant gateway that intelligently routes

    AI traffic across providers with built-in memory, cost optimization, and

    autonomous background processing.


    All `/v1/*` endpoints require an API key via `Authorization: Bearer `.'
  contact:
    name: BrainstormRouter
    url: https://brainstormrouter.com
  license:
    name: Proprietary
    identifier: LicenseRef-Proprietary
servers:
- url: https://api.brainstormrouter.com
  description: Production
security:
- BearerAuth: []
tags:
- name: Budget
paths:
  /auth/budget/agents:
    get:
      operationId: authBudgetAgentsList
      summary: Agent budget configs + leaderboard
      tags:
      - Budget
      x-br-capability-id: auth.budget.agents.list
      x-br-version: v1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - SupabaseJwt: []
  /auth/budget/agents/{agentId}:
    put:
      operationId: authBudgetAgentsPut
      summary: Configure a per-agent budget
      tags:
      - Budget
      x-br-capability-id: auth.budget.agents.put
      x-br-version: v1
      parameters:
      - name: agentId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                perConversationUsd:
                  type: number
                perHourUsd:
                  type: number
                perDayUsd:
                  type: number
                downgradeModel:
                  type: string
                exhaustionAction:
                  type: string
                  enum:
                  - downgrade
                  - stop
              required: []
              additionalProperties: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - SupabaseJwt: []
  /auth/budget/alerts/config:
    get:
      operationId: authBudgetAlertsConfigGet
      summary: Budget alert thresholds + webhook config
      tags:
      - Budget
      x-br-capability-id: auth.budget.alerts.config.get
      x-br-version: v1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - SupabaseJwt: []
    put:
      operationId: authBudgetAlertsConfigPut
      summary: Update budget alert configuration
      tags:
      - Budget
      x-br-capability-id: auth.budget.alerts.config.put
      x-br-version: v1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                thresholds:
                  type: array
                  items:
                    type: number
                webhookUrl:
                  anyOf:
                  - type: string
                  - type: 'null'
                enabled:
                  type: boolean
              additionalProperties: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - SupabaseJwt: []
  /auth/budget/alerts/history:
    get:
      operationId: authBudgetAlertsHistory
      summary: Recent budget alert events
      tags:
      - Budget
      x-br-capability-id: auth.budget.alerts.history
      x-br-version: v1
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - SupabaseJwt: []
  /auth/budget/forecast:
    get:
      operationId: authBudgetForecast
      summary: Budget forecast + anomaly detection from the last 30 days of spend
      tags:
      - Budget
      x-br-capability-id: auth.budget.forecast
      x-br-version: v1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - SupabaseJwt: []
  /auth/budget/limits:
    get:
      operationId: authBudgetLimitsGet
      summary: Tenant budget limits (daily + monthly)
      tags:
      - Budget
      x-br-capability-id: auth.budget.limits.get
      x-br-version: v1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - SupabaseJwt: []
    put:
      operationId: authBudgetLimitsPut
      summary: 'Update tenant budget limits (merge: null clears, undefined leaves)'
      tags:
      - Budget
      x-br-capability-id: auth.budget.limits.put
      x-br-version: v1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                dailyLimitUsd:
                  anyOf:
                  - type: number
                    minimum: 0
                  - type: 'null'
                monthlyLimitUsd:
                  anyOf:
                  - type: number
                    minimum: 0
                  - type: 'null'
              additionalProperties: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - SupabaseJwt: []
  /auth/budget/status:
    get:
      operationId: authBudgetStatus
      summary: Tenant-level budget status (daily + monthly spent vs. limits)
      tags:
      - Budget
      x-br-capability-id: auth.budget.status
      x-br-version: v1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - SupabaseJwt: []
  /v1/budget:
    get:
      operationId: systemBudgetRoot
      summary: Alias of /v1/budget/status served at the bare /v1/budget path
      tags:
      - Budget
      x-br-capability-id: system.budget.root
      x-br-version: v1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - BearerAuth: []
  /v1/budget/agents:
    get:
      operationId: systemBudgetListAgents
      summary: List per-agent budget configurations and current status
      tags:
      - Budget
      x-br-capability-id: system.budget.listAgents
      x-br-version: v1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - BearerAuth: []
  /v1/budget/agents/{agentId}:
    put:
      operationId: systemBudgetSetAgent
      summary: Set budget configuration for a specific agent
      tags:
      - Budget
      x-br-capability-id: system.budget.setAgent
      x-br-version: v1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                perConversationUsd:
                  type: number
                perHourUsd:
                  type: number
                perDayUsd:
                  type: number
                downgradeModel:
                  type: string
                exhaustionAction:
                  type: string
                  enum:
                  - downgrade
                  - stop
              additionalProperties: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - BearerAuth: []
  /v1/budget/alerts/config:
    get:
      operationId: systemBudgetAlertsConfigGet
      summary: Get current budget alert configuration
      tags:
      - Budget
      x-br-capability-id: system.budget.alertsConfigGet
      x-br-version: v1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - BearerAuth: []
    put:
      operationId: systemBudgetAlertsConfigSet
      summary: Update budget alert configuration (thresholds, webhook, enabled)
      tags:
      - Budget
      x-br-capability-id: system.budget.alertsConfigSet
      x-br-version: v1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                thresholds:
                  type: array
                  items:
                    type: number
                    minimum: 1
                    maximum: 100
                webhookUrl:
                  anyOf:
                  - type: string
                  - type: 'null'
                enabled:
                  type: boolean
              additionalProperties: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - BearerAuth: []
  /v1/budget/alerts/history:
    get:
      operationId: systemBudgetAlertsHistory
      summary: Recent budget alert events for the tenant
      tags:
      - Budget
      x-br-capability-id: system.budget.alertsHistory
      x-br-version: v1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - BearerAuth: []
  /v1/budget/forecast:
    get:
      operationId: systemBudgetForecast
      summary: Spend forecast, projected depletion date, anomaly detection
      tags:
      - Budget
      x-br-capability-id: system.budget.forecast
      x-br-version: v1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - BearerAuth: []
  /v1/budget/limits:
    put:
      operationId: systemBudgetSetLimits
      summary: Update tenant-level daily and monthly budget limits
      tags:
      - Budget
      x-br-capability-id: system.budget.setLimits
      x-br-version: v1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                daily_limit_usd:
                  anyOf:
                  - type: number
                    exclusiveMinimum: 0
                  - type: 'null'
                monthly_limit_usd:
                  anyOf:
                  - type: number
                    exclusiveMinimum: 0
                  - type: 'null'
              additionalProperties: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - BearerAuth: []
  /v1/budget/status:
    get:
      operationId: systemBudgetStatus
      summary: Current tenant + key spend against daily/monthly limits
      tags:
      - Budget
      x-br-capability-id: system.budget.status
      x-br-version: v1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
      security:
      - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: API key (e.g. `br_live_...`)
    SupabaseJWT:
      type: http
      scheme: bearer
      description: Supabase JWT token (dashboard auth)