---
title: "List provider governance"
method: GET
path: "/api/governance/providers"
tags: ["Governance"]
---

# List provider governance

`GET /api/governance/providers`

Returns a list of all providers with their governance settings (budget and rate limits).

## Response `200`

Successful response

- ListProviderGovernanceResponse — Response containing list of provider governance settings
  - `providers` ProviderGovernanceResponse[]
    - `provider` string — Provider name
    - `budgets` Budget[] — Budget configurations for this provider. Each entry has a unique reset_duration.
      - `id` string, required
      - `max_limit` number, required — Maximum budget in dollars
      - `reset_duration` string, required — Reset duration (e.g., "30s", "5m", "1h", "1d", "1w", "1M")
      - `calendar_aligned` boolean — When true, resets align to calendar period boundaries in UTC (not rolling from last reset)
      - `last_reset` string, date-time, required
      - `current_usage` number, required
      - `team_id` string — Team that owns this budget, when the budget is team-scoped
      - `virtual_key_id` string — Virtual key that owns this budget, when the budget is virtual-key-scoped
      - `provider_config_id` integer — Provider config that owns this budget, when the budget is provider-config-scoped
      - `config_hash` string, nullable, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
    - `budget` Budget — Budget configuration
      - `id` string, required
      - `max_limit` number, required — Maximum budget in dollars
      - `reset_duration` string, required — Reset duration (e.g., "30s", "5m", "1h", "1d", "1w", "1M")
      - `calendar_aligned` boolean — When true, resets align to calendar period boundaries in UTC (not rolling from last reset)
      - `last_reset` string, date-time, required
      - `current_usage` number, required
      - `team_id` string — Team that owns this budget, when the budget is team-scoped
      - `virtual_key_id` string — Virtual key that owns this budget, when the budget is virtual-key-scoped
      - `provider_config_id` integer — Provider config that owns this budget, when the budget is provider-config-scoped
      - `config_hash` string, nullable, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
    - `rate_limit` RateLimit — Rate limit configuration
      - `id` string, required
      - `token_max_limit` integer
      - `token_reset_duration` string
      - `token_current_usage` integer, required
      - `token_last_reset` string, date-time, required
      - `request_max_limit` integer, nullable
      - `request_reset_duration` string, nullable
      - `request_current_usage` integer, required
      - `request_last_reset` string, date-time, required
      - `config_hash` string, nullable, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
    - `calendar_aligned` boolean — When true, all budgets reset at clean calendar boundaries (midnight UTC for day, Monday for week, 1st for month, Jan 1 for year).
  - `count` integer — Number of providers with governance settings

## Other responses

- `500` — Internal server error

---

[API](https://skmtc.net/getbifrost/apis/bifrost-api.md) · [All operations](https://skmtc.net/getbifrost/apis/bifrost-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getbifrost/bifrost-api/versions/f8cab88f64ea/schema)
