> ## Documentation Index
> Fetch the complete documentation index at: https://docs.costgraph.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a budget

> Creates a budget over a saved cost filter (the same key:value filters as the cost query, virtual tags included) for the current month, quarter or year in UTC. Alerts go to the organization owners and the listed owners when spend crosses each threshold percent, and once when the forecast goes over budget if forecastAlert is on. Thresholds default to 50, 80 and 100; basis defaults to gross (before credits). The currency must match the currency the scope is billed in.



## OpenAPI

````yaml /api-reference/costgraph/openapi.json post /api/v1/tenant/budgets
openapi: 3.0.0
info:
  description: Read and manage your CostGraph organization, spend, alerts, and settings.
  title: CostGraph API
  contact: {}
  version: '1.0'
servers:
  - url: https://api.costgraph.ai
security: []
tags:
  - name: ai
    x-group: AI
  - name: ai-serving
    x-group: AI serving
  - name: anomalies
    x-group: Anomalies
  - name: auth
    x-group: Auth
  - name: billing
    x-group: Billing
  - name: billing-export
    x-group: Billing export
  - name: budgets
    x-group: Budgets
  - name: ci
    x-group: CI
  - name: compute-recommendations
    x-group: Compute recommendations
  - name: config
    x-group: Config
  - name: cost
    x-group: Cost
  - name: gpus
    x-group: GPUs
  - name: graphai
    x-group: Graph AI
  - name: infracost
    x-group: Infracost
  - name: integrations
    x-group: Integrations
  - name: invitations
    x-group: Invitations
  - name: kubernetes-clusters
    x-group: Kubernetes clusters
  - name: marketplace
    x-group: Marketplace
  - name: network-requests
    x-group: Network requests
  - name: notifications
    x-group: Notifications
  - name: oauth
    x-group: OAuth
  - name: oauth-clients
    x-group: OAuth clients
  - name: opencost
    x-group: OpenCost
  - name: organization
    x-group: Audit log
  - name: organizations
    x-group: Organizations
  - name: placement-alternatives
    x-group: Placement alternatives
  - name: reports
    x-group: Reports
  - name: service-map
    x-group: Service map
  - name: settings
    x-group: Settings
  - name: sso
    x-group: Single sign-on
  - name: tenants
    x-group: Tenants
  - name: user
    x-group: Users
  - name: virtual-machines
    x-group: Virtual machines
  - name: virtual-tags
    x-group: Virtual tags
  - name: workflows
    x-group: Workflows
paths:
  /api/v1/tenant/budgets:
    post:
      tags:
        - budgets
      summary: Create a budget
      description: >-
        Creates a budget over a saved cost filter (the same key:value filters as
        the cost query, virtual tags included) for the current month, quarter or
        year in UTC. Alerts go to the organization owners and the listed owners
        when spend crosses each threshold percent, and once when the forecast
        goes over budget if forecastAlert is on. Thresholds default to 50, 80
        and 100; basis defaults to gross (before credits). The currency must
        match the currency the scope is billed in.
      parameters:
        - description: Tenant ID
          name: X-CostGraph-Tenant-ID
          in: header
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/controllers.budgetRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/responses.SuccessResponse'
                  - type: object
                    properties:
                      data:
                        $ref: '#/components/schemas/budget.View'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
      security:
        - BearerAuth: []
components:
  requestBodies:
    controllers.budgetRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/controllers.budgetRequest'
      description: Budget
      required: true
  schemas:
    responses.SuccessResponse:
      type: object
      required:
        - message
        - status
      properties:
        data: {}
        message:
          type: string
          example: some message
        status:
          type: string
          example: success
    budget.View:
      type: object
      properties:
        amount:
          type: number
          x-semantic: costAmount
        basis:
          type: string
          enum:
            - gross
            - net
        createdAt:
          type: string
        currency:
          type: string
          x-semantic: currencyCode
        evaluation:
          $ref: '#/components/schemas/budget.Evaluation'
        filters:
          type: array
          items:
            type: string
        forecastAlert:
          type: boolean
        id:
          type: string
        layer:
          type: string
          enum:
            - billed
            - allocation
            - ci
        name:
          type: string
        ownerUserIds:
          type: array
          items:
            type: string
        period:
          type: string
          enum:
            - monthly
            - quarterly
            - annual
        thresholds:
          type: array
          items:
            type: number
        updatedAt:
          type: string
    responses.ErrorResponse:
      type: object
      required:
        - message
        - status
      properties:
        message:
          type: string
          example: some message
        status:
          type: string
          example: error
    controllers.budgetRequest:
      type: object
      required:
        - amount
        - currency
        - name
        - period
      properties:
        amount:
          type: number
        basis:
          type: string
          enum:
            - gross
            - net
        currency:
          type: string
        filters:
          type: array
          maxItems: 50
          items:
            type: string
        forecastAlert:
          type: boolean
        layer:
          type: string
          enum:
            - billed
            - allocation
            - ci
        name:
          type: string
          maxLength: 200
        ownerUserIds:
          type: array
          maxItems: 50
          items:
            type: string
        period:
          type: string
          enum:
            - monthly
            - quarterly
            - annual
        thresholds:
          type: array
          maxItems: 10
          items:
            type: number
    budget.Evaluation:
      type: object
      properties:
        actual:
          type: number
          x-semantic: costAmount
        excludedCurrencies:
          type: array
          items:
            type: string
        forecast:
          $ref: '#/components/schemas/budget.Forecast'
        pctUsed:
          type: number
          x-semantic: percentage
        periodEnd:
          type: string
        periodStart:
          type: string
        status:
          type: string
          enum:
            - on_track
            - at_risk
            - over
    budget.Forecast:
      type: object
      properties:
        method:
          type: string
          enum:
            - regression
            - pace
        point:
          type: number
          x-semantic: costAmount
        reason:
          type: string
  securitySchemes:
    BearerAuth:
      description: Enter "Bearer {token}"
      type: apiKey
      name: Authorization
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.