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

# Get virtual key quota

> Returns the overall budget and rate limit quota for the authenticated virtual key,
as well as per-provider and per-model budgets and rate limits (with current usage).
Each budget also carries the actual per-model usage for its current cycle.
This is a self-service endpoint - no admin authentication required.
The virtual key value itself (provided via header) is the credential.




## OpenAPI

````yaml /openapi/openapi.json get /api/governance/virtual-keys/quota
openapi: 3.1.0
info:
  title: Bifrost API
  description: >
    Bifrost HTTP Transport API for AI model inference and gateway management.


    This API provides a unified interface for interacting with multiple AI
    providers

    including OpenAI, Anthropic, Bedrock, Gemini, and more through a single API,

    along with comprehensive management APIs for configuring and monitoring the
    gateway.


    ## API Structure


    ### Unified Inference API (`/v1/*`)

    The primary API using Bifrost's unified format. Model parameters use the
    format

    `provider/model` (e.g., `openai/gpt-4`, `anthropic/claude-3-opus`).


    ### Async Inference API (`/v1/async/*`)

    Submit inference requests for asynchronous execution. Returns a job ID
    immediately

    and allows polling for results. Supports all inference types except batches,
    files,

    and containers.


    ### Provider Integration APIs

    Native provider-format APIs for drop-in compatibility:

    - `/openai/*` - OpenAI-compatible API

    - `/anthropic/*` - Anthropic-compatible API

    - `/genai/*` - Google GenAI (Gemini) compatible API

    - `/bedrock/*` - AWS Bedrock compatible API

    - `/cohere/*` - Cohere compatible API


    ### Framework Integration APIs

    Multi-provider proxy endpoints for AI frameworks:

    - `/litellm/*` - LiteLLM proxy with all provider formats

    - `/langchain/*` - LangChain compatible endpoints

    - `/pydanticai/*` - PydanticAI compatible endpoints


    ### Management APIs (`/api/*`)

    APIs for managing and monitoring the Bifrost gateway:

    - `/api/config` - Configuration management

    - `/api/providers` - Provider and API key management

    - `/api/plugins` - Plugin management

    - `/api/governance/*` - Virtual keys, teams, customers, budgets, rate
    limits, routing rules, and pricing overrides

    - `/api/logs` - Log search and analytics

    - `/api/mcp/*` - MCP (Model Context Protocol) client management

    - `/api/session/*` - Authentication and session management

    - `/api/cache/*` - Cache management

    - `/health` - Health check endpoint


    ## Fallbacks

    Requests can include fallback models that will be tried if the primary model
    fails.
  version: 1.0.0
  contact:
    name: Contact Us
    url: https://getmaxim.ai/bifrost
  license:
    name: Apache 2.0
    url: https://opensource.org/licenses/Apache-2.0
servers:
  - url: '{baseUrl}'
    description: Your Bifrost instance
    variables:
      baseUrl:
        default: http://localhost:8080
        description: Base URL of your Bifrost instance (e.g. https://bifrost.mycompany.com)
security:
  - BearerAuth: []
  - BasicAuth: []
  - ApiKeyAuth: []
tags:
  - name: Models
    description: Model listing and information
  - name: Chat Completions
    description: Chat-based text generation
  - name: Text Completions
    description: Text completion generation
  - name: Responses
    description: OpenAI Responses API compatible endpoints
  - name: OCR
    description: Optical character recognition for documents and images
  - name: Rerank
    description: Document reranking by relevance to a query
  - name: Embeddings
    description: Text embedding generation
  - name: Images
    description: Image generations, editing, and variations
  - name: Videos
    description: Video generation and management
  - name: Audio
    description: Speech synthesis and transcription
  - name: Count Tokens
    description: Token counting utilities
  - name: Batch
    description: Batch processing operations
  - name: Files
    description: File management operations
  - name: Containers
    description: Container management operations
  - name: Async Jobs
    description: Asynchronous job submission and retrieval endpoints
  - name: Realtime
    description: Realtime WebSocket and WebRTC endpoints
  - name: OpenAI Integration
    description: OpenAI-compatible API endpoints (/openai/*)
  - name: Azure Integration
    description: Azure OpenAI integration endpoints
  - name: Anthropic Integration
    description: Anthropic-compatible API endpoints (/anthropic/*)
  - name: GenAI Integration
    description: Google GenAI (Gemini) compatible API endpoints (/genai/*)
  - name: Bedrock Integration
    description: AWS Bedrock compatible API endpoints (/bedrock/*)
  - name: Cohere Integration
    description: Cohere compatible API endpoints (/cohere/*)
  - name: LiteLLM Integration
    description: LiteLLM proxy endpoints with multi-provider support (/litellm/*)
  - name: LangChain Integration
    description: LangChain compatible endpoints with multi-provider support (/langchain/*)
  - name: PydanticAI Integration
    description: >-
      PydanticAI compatible endpoints with multi-provider support
      (/pydanticai/*)
  - name: Health
    description: Health check endpoints
  - name: Configuration
    description: Configuration management endpoints
  - name: Session
    description: Session and authentication endpoints
  - name: Providers
    description: Provider management endpoints
  - name: Plugins
    description: Plugin management endpoints
  - name: MCP
    description: Model Context Protocol endpoints
  - name: Governance
    description: Virtual keys, teams, and customers management
  - name: Logging
    description: Log search and management endpoints
  - name: Cache
    description: Cache management endpoints
  - name: Vault
    description: Vault secret management endpoints
  - name: Skills
    description: Skills Repository management, marketplace, and download endpoints
  - name: Audit Logs
    description: >-
      CADF-compliant audit log search, export, and signature verification
      endpoints
paths:
  /api/governance/virtual-keys/quota:
    get:
      tags:
        - Governance
      summary: Get virtual key quota
      description: >
        Returns the overall budget and rate limit quota for the authenticated
        virtual key,

        as well as per-provider and per-model budgets and rate limits (with
        current usage).

        Each budget also carries the actual per-model usage for its current
        cycle.

        This is a self-service endpoint - no admin authentication required.

        The virtual key value itself (provided via header) is the credential.
      operationId: getVirtualKeyQuota
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualKeyQuotaResponse'
        '401':
          description: Missing or invalid virtual key
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BifrostError'
      security:
        - VirtualKeyAuth: []
        - BearerAuth: []
        - ApiKeyAuth: []
components:
  schemas:
    VirtualKeyQuotaResponse:
      type: object
      description: Virtual key quota response (self-service, no admin auth required)
      required:
        - virtual_key_name
        - is_active
        - budgets
        - rate_limit
        - provider_configs
        - model_configs
      properties:
        virtual_key_name:
          type: string
          description: Name of the virtual key
        is_active:
          type: boolean
          description: Whether the virtual key is active
        budgets:
          type:
            - array
            - 'null'
          description: >
            Overall budget quotas for this virtual key. Each budget also carries
            the actual per-model spend (from request logs) accumulated in its
            current cycle.
          items:
            description: >
              A virtual key budget with the actual per-model spend (from request
              logs) accumulated in its current cycle [last_reset, now]. The
              per-model totals reconcile with current_usage. The models list is
              empty when the logging plugin is not enabled.
            allOf:
              - $ref: '#/components/schemas/Budget'
              - type: object
                required:
                  - per_model_usage
                properties:
                  per_model_usage:
                    type: array
                    description: Per-model actual usage within this budget's current cycle
                    items:
                      type: object
                      description: >-
                        One model's actual usage (from request logs) within a
                        budget cycle
                      required:
                        - model
                        - total_requests
                        - total_tokens
                        - total_cost
                      properties:
                        model:
                          type: string
                          description: The model name
                        provider:
                          type: string
                          description: Provider that served the model; omitted when unknown
                        total_requests:
                          type: integer
                          format: int64
                          description: Number of requests to this model in the cycle
                        total_tokens:
                          type: integer
                          format: int64
                          description: Total tokens consumed by this model in the cycle
                        total_cost:
                          type: number
                          description: Total cost in dollars for this model in the cycle
        rate_limit:
          oneOf:
            - $ref: '#/components/schemas/RateLimit'
            - type: 'null'
        provider_configs:
          type:
            - array
            - 'null'
          description: >-
            Per-provider budget quotas and rate limits (provider-level splits
            and limits)
          items:
            $ref: '#/components/schemas/VirtualKeyProviderConfig'
        model_configs:
          type: array
          description: >
            Per-model budget quotas and rate limits configured for this virtual
            key (model-level limits). Always an array — the endpoint fails
            closed (500) rather than returning null when the model-config lookup
            errors.
          items:
            type: object
            description: >-
              Per-model budgets and rate limit (with current usage) for a model
              governed under a virtual key
            required:
              - model_name
            properties:
              model_name:
                type: string
                description: The model this usage applies to
              provider:
                type: string
                description: >-
                  Provider this model config is scoped to; omitted when it
                  applies to all providers
              budgets:
                type:
                  - array
                  - 'null'
                description: Budget quotas for this model
                items:
                  $ref: '#/components/schemas/Budget'
              rate_limit:
                oneOf:
                  - $ref: '#/components/schemas/RateLimit'
                  - type: 'null'
    BifrostError:
      type: object
      description: Error response from Bifrost
      properties:
        event_id:
          type: string
        type:
          type: string
        is_bifrost_error:
          type: boolean
        status_code:
          type: integer
        error:
          $ref: '#/components/schemas/ErrorField'
        extra_fields:
          $ref: '#/components/schemas/BifrostErrorExtraFields'
    Budget:
      type: object
      description: Budget configuration
      required:
        - id
        - max_limit
        - reset_duration
        - last_reset
        - current_usage
        - config_hash
        - created_at
        - updated_at
      properties:
        id:
          type: string
        max_limit:
          type: number
          description: Maximum budget in dollars
        reset_duration:
          type: string
          description: Reset duration (e.g., "30s", "5m", "1h", "1d", "1w", "1M")
        calendar_aligned:
          type: boolean
          description: >-
            When true, resets align to calendar period boundaries in UTC (not
            rolling from last reset)
          default: false
        last_reset:
          type: string
          format: date-time
        current_usage:
          type: number
        team_id:
          type: string
          description: Team that owns this budget, when the budget is team-scoped
        virtual_key_id:
          type: string
          description: >-
            Virtual key that owns this budget, when the budget is
            virtual-key-scoped
        provider_config_id:
          type: integer
          description: >-
            Provider config that owns this budget, when the budget is
            provider-config-scoped
        config_hash:
          type:
            - string
            - 'null'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    RateLimit:
      type: object
      description: Rate limit configuration
      required:
        - id
        - token_current_usage
        - token_last_reset
        - request_current_usage
        - request_last_reset
        - config_hash
        - created_at
        - updated_at
      properties:
        id:
          type: string
        token_max_limit:
          type: integer
          format: int64
        token_reset_duration:
          type: string
        token_current_usage:
          type: integer
          format: int64
        token_last_reset:
          type: string
          format: date-time
        request_max_limit:
          type:
            - integer
            - 'null'
          format: int64
        request_reset_duration:
          type:
            - string
            - 'null'
        request_current_usage:
          type: integer
          format: int64
        request_last_reset:
          type: string
          format: date-time
        config_hash:
          type:
            - string
            - 'null'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    VirtualKeyProviderConfig:
      type: object
      description: Provider configuration for a virtual key
      required:
        - id
        - virtual_key_id
        - provider
        - weight
        - allowed_models
        - blacklisted_models
        - allow_all_keys
        - keys
      properties:
        id:
          type: integer
        virtual_key_id:
          type: string
        provider:
          type: string
        weight:
          type:
            - number
            - 'null'
          description: >-
            Weight for provider load balancing. Null means excluded from
            weighted routing.
        allowed_models:
          type: array
          items:
            type: string
        blacklisted_models:
          type: array
          items:
            type: string
        allow_all_keys:
          type: boolean
        rate_limit_id:
          type: string
        budgets:
          type: array
          description: Budget quotas assigned to this provider config
          items:
            $ref: '#/components/schemas/Budget'
        rate_limit:
          $ref: '#/components/schemas/RateLimit'
        keys:
          type:
            - array
            - 'null'
          description: >
            Associated API keys for this provider config. **Always null in the
            quota endpoint** — keys are intentionally not loaded here to keep
            the response lean and avoid exposing sensitive credentials. Use the
            admin virtual-key API to inspect actual key assignments.
          items:
            $ref: '#/components/schemas/TableKey'
    ErrorField:
      type: object
      properties:
        type:
          type: string
        code:
          type: string
        message:
          type: string
        param:
          type: string
        event_id:
          type: string
    BifrostErrorExtraFields:
      type: object
      properties:
        provider:
          $ref: '#/components/schemas/ModelProvider'
        model_requested:
          type: string
        request_type:
          type: string
    TableKey:
      type: object
      description: Table key configuration
      properties:
        id:
          type: integer
        name:
          type: string
        provider_id:
          type: integer
        provider:
          type: string
        key_id:
          type: string
        value:
          type: object
          description: Environment variable configuration
          properties:
            value:
              type: string
            env_var:
              type: string
            from_env:
              type: boolean
        models:
          type: array
          items:
            type: string
        weight:
          type:
            - number
            - 'null'
        enabled:
          type:
            - boolean
            - 'null'
          default: true
        use_for_batch_api:
          type:
            - boolean
            - 'null'
          default: false
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        config_hash:
          type:
            - string
            - 'null'
        azure_endpoint:
          oneOf:
            - type: object
              description: Environment variable configuration
              properties:
                value:
                  type: string
                env_var:
                  type: string
                from_env:
                  type: boolean
            - type: 'null'
        azure_client_id:
          oneOf:
            - type: object
              description: Environment variable configuration
              properties:
                value:
                  type: string
                env_var:
                  type: string
                from_env:
                  type: boolean
            - type: 'null'
        azure_client_secret:
          oneOf:
            - type: object
              description: Environment variable configuration
              properties:
                value:
                  type: string
                env_var:
                  type: string
                from_env:
                  type: boolean
            - type: 'null'
        azure_tenant_id:
          oneOf:
            - type: object
              description: Environment variable configuration
              properties:
                value:
                  type: string
                env_var:
                  type: string
                from_env:
                  type: boolean
            - type: 'null'
        vertex_project_id:
          oneOf:
            - type: object
              description: Environment variable configuration
              properties:
                value:
                  type: string
                env_var:
                  type: string
                from_env:
                  type: boolean
            - type: 'null'
        vertex_project_number:
          oneOf:
            - type: object
              description: Environment variable configuration
              properties:
                value:
                  type: string
                env_var:
                  type: string
                from_env:
                  type: boolean
            - type: 'null'
        vertex_region:
          oneOf:
            - type: object
              description: Environment variable configuration
              properties:
                value:
                  type: string
                env_var:
                  type: string
                from_env:
                  type: boolean
            - type: 'null'
        vertex_auth_credentials:
          oneOf:
            - type: object
              description: Environment variable configuration
              properties:
                value:
                  type: string
                env_var:
                  type: string
                from_env:
                  type: boolean
            - type: 'null'
        bedrock_access_key:
          oneOf:
            - type: object
              description: Environment variable configuration
              properties:
                value:
                  type: string
                env_var:
                  type: string
                from_env:
                  type: boolean
            - type: 'null'
        bedrock_secret_key:
          oneOf:
            - type: object
              description: Environment variable configuration
              properties:
                value:
                  type: string
                env_var:
                  type: string
                from_env:
                  type: boolean
            - type: 'null'
        bedrock_session_token:
          oneOf:
            - type: object
              description: Environment variable configuration
              properties:
                value:
                  type: string
                env_var:
                  type: string
                from_env:
                  type: boolean
            - type: 'null'
        bedrock_region:
          oneOf:
            - type: object
              description: Environment variable configuration
              properties:
                value:
                  type: string
                env_var:
                  type: string
                from_env:
                  type: boolean
            - type: 'null'
        bedrock_arn:
          oneOf:
            - type: object
              description: Environment variable configuration
              properties:
                value:
                  type: string
                env_var:
                  type: string
                from_env:
                  type: boolean
            - type: 'null'
    ModelProvider:
      type: string
      description: AI model provider identifier
      enum:
        - openai
        - azure
        - anthropic
        - bedrock
        - cohere
        - vertex
        - vllm
        - mistral
        - ollama
        - groq
        - sgl
        - parasail
        - perplexity
        - replicate
        - cerebras
        - deepseek
        - gemini
        - openrouter
        - elevenlabs
        - huggingface
        - nebius
        - xai
        - runway
        - fireworks
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >
        Bearer token authentication. Use your provider API key or Bifrost
        authentication token.

        Virtual keys (prefixed with `sk-bf-`) can also be passed here.
    BasicAuth:
      type: http
      scheme: basic
      description: |
        Basic authentication using username and password.
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: |
        API key authentication via the `x-api-key` header.
        Virtual keys (prefixed with `sk-bf-`) can also be passed here.
    VirtualKeyAuth:
      type: apiKey
      in: header
      name: x-bf-vk
      description: >
        Bifrost Virtual Key for governance, routing, and access control.
        Supported on all inference endpoints (`/v1/*`, `/openai/*`,
        `/anthropic/*`, `/bedrock/*`, `/cohere/*`, `/genai/*`, `/langchain/*`,
        `/litellm/*`, `/pydanticai/*`, `/mcp`), not on management APIs
        (`/api/*`).

        Example: `sk-bf-*` prefixed keys.

````