API calls for all endpoints tagged Governance.
Summary
Functions
Assign team to business unit Assigns an existing team to the business unit. Returns 409 if the team is already assigned to a different business unit.
Create business unit Creates a new business unit. Names must be unique.
Create business unit governance
Configures budget and/or rate limit governance for a business unit. At least one of budget or rate_limit is required. Returns 409 if the business unit already has governance configured (use PUT to update).
Create customer Creates a new customer.
Create team Creates a new team.
Create model config Creates a new model configuration with budget and rate limit settings.
Create pricing override Creates a new pricing override. The most specific matching scope always wins during cost resolution.
Create routing rule Creates a new CEL-based routing rule for intelligent request routing. Provider and model can be left empty to use the incoming request values.
Create virtual key Creates a new virtual key with the specified configuration.
Delete business unit Deletes a business unit. Any teams assigned to it are atomically unassigned as part of the deletion.
Delete business unit governance Removes all budget and rate limit governance from a business unit.
Delete customer Deletes a customer.
Delete team Deletes a team.
Delete model config Deletes a model configuration.
Delete pricing override Deletes a pricing override by ID.
Delete provider governance Removes governance settings (budget and rate limits) for a specific provider.
Delete routing rule Deletes a routing rule.
Delete virtual key Deletes a virtual key.
Get business unit Returns a specific business unit by ID, including governance and team count.
Get complexity analyzer config Returns the full complexity analyzer runtime config, including tier thresholds and editable keyword lists. Returns built-in defaults if none have been configured.
Get customer Returns a specific customer by ID.
Get team Returns a specific team by ID.
Get model config Returns a specific model configuration by ID.
Get routing rule Returns a specific routing rule by ID.
Get virtual key Returns a specific virtual key by ID.
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.
List budgets
Returns a list of all budgets. Use the from_memory query parameter to get data from in-memory cache.
List business unit teams Returns a paginated list of teams assigned to the business unit.
List business units Returns a paginated list of business units, each with its team count.
List customers Returns a list of all customers.
List teams Returns a list of all teams.
List model limits Returns a paginated list of model limits with their budget and rate limit settings.
List pricing overrides Returns all pricing overrides, optionally filtered by scope.
List provider governance Returns a list of all providers with their governance settings (budget and rate limits).
List rate limits
Returns a list of all rate limits. Use the from_memory query parameter to get data from in-memory cache.
List routing rules Returns a list of all routing rules configured for intelligent request routing across providers.
List virtual keys Returns a list of all virtual keys with their configurations.
Remove team from business unit Unassigns a team from the business unit.
Reset complexity analyzer config Restores the built-in complexity analyzer runtime config defaults and hot-reloads the governance plugin.
Update business unit governance
Updates budget and/or rate limit governance for a business unit. Passing an empty budget or rate_limit object removes that governance component.
Update complexity analyzer config Replaces the full complexity analyzer runtime config and hot-reloads the governance plugin. Tier thresholds must satisfy 0 < simple_medium < medium_complex < complex_reasoning < 1.
Update customer Updates an existing customer.
Update team Updates an existing team.
Update model config Updates an existing model configuration's budget and rate limit settings.
Update pricing override
Updates an existing pricing override. Omitted fields are merged from the existing record. The patch field is always replaced in full when provided.
Update provider governance Updates governance settings (budget and rate limits) for a specific provider.
Update routing rule Updates an existing routing rule's configuration.
Update virtual key Updates an existing virtual key's configuration.
Functions
@spec assign_team_to_business_unit( Tesla.Env.client(), String.t(), ExBifrost.Model.AssignTeamToBusinessUnitRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.MessageResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.ManagementErrorResponse.t()} | {:error, Tesla.Env.t()}
Assign team to business unit Assigns an existing team to the business unit. Returns 409 if the team is already assigned to a different business unit.
Parameters
connection(ExBifrost.Connection): Connection to serverid(String.t): Business unit IDassign_team_to_business_unit_request(AssignTeamToBusinessUnitRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.MessageResponse.t}on success{:error, Tesla.Env.t}on failure
@spec create_business_unit( Tesla.Env.client(), ExBifrost.Model.CreateTeamRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.CreateTeam200Response.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.ManagementErrorResponse.t()} | {:error, Tesla.Env.t()}
Create business unit Creates a new business unit. Names must be unique.
Parameters
connection(ExBifrost.Connection): Connection to servercreate_team_request(CreateTeamRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.CreateTeam200Response.t}on success{:error, Tesla.Env.t}on failure
@spec create_business_unit_governance( Tesla.Env.client(), String.t(), ExBifrost.Model.CreateBusinessUnitGovernanceRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.ManagementErrorResponse.t()} | {:ok, ExBifrost.Model.CreateBusinessUnitGovernance200Response.t()} | {:error, Tesla.Env.t()}
Create business unit governance
Configures budget and/or rate limit governance for a business unit. At least one of budget or rate_limit is required. Returns 409 if the business unit already has governance configured (use PUT to update).
Parameters
connection(ExBifrost.Connection): Connection to serverid(String.t): Business unit IDcreate_business_unit_governance_request(CreateBusinessUnitGovernanceRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.CreateBusinessUnitGovernance200Response.t}on success{:error, Tesla.Env.t}on failure
@spec create_customer( Tesla.Env.client(), ExBifrost.Model.CreateCustomerRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.CustomerResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Create customer Creates a new customer.
Parameters
connection(ExBifrost.Connection): Connection to servercreate_customer_request(CreateCustomerRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.CustomerResponse.t}on success{:error, Tesla.Env.t}on failure
@spec create_governance_team( Tesla.Env.client(), ExBifrost.Model.CreateTeamRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.TeamResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Create team Creates a new team.
Parameters
connection(ExBifrost.Connection): Connection to servercreate_team_request(CreateTeamRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.TeamResponse.t}on success{:error, Tesla.Env.t}on failure
@spec create_model_config( Tesla.Env.client(), ExBifrost.Model.CreateModelConfigRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.ModelConfigResponse.t()} | {:error, Tesla.Env.t()}
Create model config Creates a new model configuration with budget and rate limit settings.
Parameters
connection(ExBifrost.Connection): Connection to servercreate_model_config_request(CreateModelConfigRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.ModelConfigResponse.t}on success{:error, Tesla.Env.t}on failure
@spec create_pricing_override( Tesla.Env.client(), ExBifrost.Model.CreatePricingOverrideRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.PricingOverrideResponse.t()} | {:error, Tesla.Env.t()}
Create pricing override Creates a new pricing override. The most specific matching scope always wins during cost resolution.
Parameters
connection(ExBifrost.Connection): Connection to servercreate_pricing_override_request(CreatePricingOverrideRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.PricingOverrideResponse.t}on success{:error, Tesla.Env.t}on failure
@spec create_routing_rule( Tesla.Env.client(), ExBifrost.Model.CreateRoutingRuleRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.RoutingRuleResponse.t()} | {:error, Tesla.Env.t()}
Create routing rule Creates a new CEL-based routing rule for intelligent request routing. Provider and model can be left empty to use the incoming request values.
Parameters
connection(ExBifrost.Connection): Connection to servercreate_routing_rule_request(CreateRoutingRuleRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.RoutingRuleResponse.t}on success{:error, Tesla.Env.t}on failure
@spec create_virtual_key( Tesla.Env.client(), ExBifrost.Model.CreateVirtualKeyRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.VirtualKeyResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Create virtual key Creates a new virtual key with the specified configuration.
Parameters
connection(ExBifrost.Connection): Connection to servercreate_virtual_key_request(CreateVirtualKeyRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.VirtualKeyResponse.t}on success{:error, Tesla.Env.t}on failure
@spec delete_business_unit(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.MessageResponse.t()} | {:ok, ExBifrost.Model.ManagementErrorResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Delete business unit Deletes a business unit. Any teams assigned to it are atomically unassigned as part of the deletion.
Parameters
connection(ExBifrost.Connection): Connection to serverid(String.t): Business unit IDopts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.MessageResponse.t}on success{:error, Tesla.Env.t}on failure
@spec delete_business_unit_governance(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.MessageResponse.t()} | {:ok, ExBifrost.Model.ManagementErrorResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Delete business unit governance Removes all budget and rate limit governance from a business unit.
Parameters
connection(ExBifrost.Connection): Connection to serverid(String.t): Business unit IDopts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.MessageResponse.t}on success{:error, Tesla.Env.t}on failure
@spec delete_customer(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.MessageResponse.t()} | {:ok, ExBifrost.Model.ManagementErrorResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Delete customer Deletes a customer.
Parameters
connection(ExBifrost.Connection): Connection to servercustomer_id(String.t): Customer IDopts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.MessageResponse.t}on success{:error, Tesla.Env.t}on failure
@spec delete_governance_team(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.MessageResponse.t()} | {:ok, ExBifrost.Model.ManagementErrorResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Delete team Deletes a team.
Parameters
connection(ExBifrost.Connection): Connection to serverteam_id(String.t): Team IDopts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.MessageResponse.t}on success{:error, Tesla.Env.t}on failure
@spec delete_model_config(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.MessageResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Delete model config Deletes a model configuration.
Parameters
connection(ExBifrost.Connection): Connection to servermc_id(String.t): Model config IDopts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.MessageResponse.t}on success{:error, Tesla.Env.t}on failure
@spec delete_pricing_override(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.MessageResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Delete pricing override Deletes a pricing override by ID.
Parameters
connection(ExBifrost.Connection): Connection to serverid(String.t): Pricing override IDopts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.MessageResponse.t}on success{:error, Tesla.Env.t}on failure
@spec delete_provider_governance(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.MessageResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Delete provider governance Removes governance settings (budget and rate limits) for a specific provider.
Parameters
connection(ExBifrost.Connection): Connection to serverprovider_name(String.t): Provider nameopts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.MessageResponse.t}on success{:error, Tesla.Env.t}on failure
@spec delete_routing_rule(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.MessageResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Delete routing rule Deletes a routing rule.
Parameters
connection(ExBifrost.Connection): Connection to serverrule_id(String.t): Routing rule IDopts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.MessageResponse.t}on success{:error, Tesla.Env.t}on failure
@spec delete_virtual_key(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.MessageResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Delete virtual key Deletes a virtual key.
Parameters
connection(ExBifrost.Connection): Connection to servervk_id(String.t): Virtual key IDopts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.MessageResponse.t}on success{:error, Tesla.Env.t}on failure
@spec get_business_unit(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.GetBusinessUnit200Response.t()} | {:ok, ExBifrost.Model.ManagementErrorResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Get business unit Returns a specific business unit by ID, including governance and team count.
Parameters
connection(ExBifrost.Connection): Connection to serverid(String.t): Business unit IDopts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.GetBusinessUnit200Response.t}on success{:error, Tesla.Env.t}on failure
@spec get_complexity_analyzer_config( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.GetComplexityAnalyzerConfig200Response.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Get complexity analyzer config Returns the full complexity analyzer runtime config, including tier thresholds and editable keyword lists. Returns built-in defaults if none have been configured.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.GetComplexityAnalyzerConfig200Response.t}on success{:error, Tesla.Env.t}on failure
@spec get_customer(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.ManagementErrorResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.GetCustomer200Response.t()} | {:error, Tesla.Env.t()}
Get customer Returns a specific customer by ID.
Parameters
connection(ExBifrost.Connection): Connection to servercustomer_id(String.t): Customer IDopts(keyword): Optional parameters:from_memory(boolean()): If true, returns customer from in-memory cache instead of database
Returns
{:ok, ExBifrost.Model.GetCustomer200Response.t}on success{:error, Tesla.Env.t}on failure
@spec get_governance_team(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.GetGovernanceTeam200Response.t()} | {:error, Tesla.Env.t()}
Get team Returns a specific team by ID.
Parameters
connection(ExBifrost.Connection): Connection to serverteam_id(String.t): Team IDopts(keyword): Optional parameters:from_memory(boolean()): If true, returns team from in-memory cache instead of database
Returns
{:ok, ExBifrost.Model.GetGovernanceTeam200Response.t}on success{:error, Tesla.Env.t}on failure
@spec get_model_config(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.GetModelConfig200Response.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Get model config Returns a specific model configuration by ID.
Parameters
connection(ExBifrost.Connection): Connection to servermc_id(String.t): Model config IDopts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.GetModelConfig200Response.t}on success{:error, Tesla.Env.t}on failure
@spec get_routing_rule(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.GetRoutingRule200Response.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Get routing rule Returns a specific routing rule by ID.
Parameters
connection(ExBifrost.Connection): Connection to serverrule_id(String.t): Routing rule IDopts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.GetRoutingRule200Response.t}on success{:error, Tesla.Env.t}on failure
@spec get_virtual_key(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.GetVirtualKey200Response.t()} | {:error, Tesla.Env.t()}
Get virtual key Returns a specific virtual key by ID.
Parameters
connection(ExBifrost.Connection): Connection to servervk_id(String.t): Virtual key IDopts(keyword): Optional parameters:from_memory(boolean()): If true, returns virtual key from in-memory cache instead of database
Returns
{:ok, ExBifrost.Model.GetVirtualKey200Response.t}on success{:error, Tesla.Env.t}on failure
@spec get_virtual_key_quota( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.GetVirtualKeyQuota401Response.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.VirtualKeyQuotaResponse.t()} | {:error, Tesla.Env.t()}
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.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.VirtualKeyQuotaResponse.t}on success{:error, Tesla.Env.t}on failure
@spec list_budgets( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.ListBudgetsResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
List budgets
Returns a list of all budgets. Use the from_memory query parameter to get data from in-memory cache.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters:from_memory(boolean()): If true, returns budgets from in-memory cache instead of database
Returns
{:ok, ExBifrost.Model.ListBudgetsResponse.t}on success{:error, Tesla.Env.t}on failure
@spec list_business_unit_teams(Tesla.Env.client(), String.t(), keyword()) :: {:ok, ExBifrost.Model.ListBusinessUnitTeams200Response.t()} | {:ok, ExBifrost.Model.ManagementErrorResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
List business unit teams Returns a paginated list of teams assigned to the business unit.
Parameters
connection(ExBifrost.Connection): Connection to serverid(String.t): Business unit IDopts(keyword): Optional parameters:page(integer()): Page number (1-based):limit(integer()): Maximum number of teams to return (max 100):search(String.t): Case-insensitive search by team name
Returns
{:ok, ExBifrost.Model.ListBusinessUnitTeams200Response.t}on success{:error, Tesla.Env.t}on failure
@spec list_business_units( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.ListBusinessUnits200Response.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
List business units Returns a paginated list of business units, each with its team count.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters:page(integer()): Page number (1-based):limit(integer()): Maximum number of business units to return (max 100):search(String.t): Case-insensitive search by business unit name
Returns
{:ok, ExBifrost.Model.ListBusinessUnits200Response.t}on success{:error, Tesla.Env.t}on failure
@spec list_customers( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.ListCustomersResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
List customers Returns a list of all customers.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters:from_memory(boolean()): If true, returns customers from in-memory cache instead of database
Returns
{:ok, ExBifrost.Model.ListCustomersResponse.t}on success{:error, Tesla.Env.t}on failure
@spec list_governance_teams( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.ListTeamsResponse.t()} | {:error, Tesla.Env.t()}
List teams Returns a list of all teams.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters:customer_id(String.t): Filter teams by customer ID:from_memory(boolean()): If true, returns teams from in-memory cache instead of database
Returns
{:ok, ExBifrost.Model.ListTeamsResponse.t}on success{:error, Tesla.Env.t}on failure
@spec list_model_configs( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.ListModelConfigsResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
List model limits Returns a paginated list of model limits with their budget and rate limit settings.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters:limit(integer()): Maximum number of results to return:offset(integer()): Number of results to skip (for pagination):search(String.t): Case-insensitive filter by model name:scope(String.t): Filter by scope (global,virtual_key, oruser;useris Enterprise only):provider(String.t): Filter by provider name:from_memory(boolean()): If true, returns data from in-memory cache (faster, may lag DB by one poll cycle)
Returns
{:ok, ExBifrost.Model.ListModelConfigsResponse.t}on success{:error, Tesla.Env.t}on failure
@spec list_pricing_overrides( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.ListPricingOverridesResponse.t()} | {:error, Tesla.Env.t()}
List pricing overrides Returns all pricing overrides, optionally filtered by scope.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters:scope_kind(String.t): Filter by scope kind:virtual_key_id(String.t): Filter by virtual key ID (for virtual_key* scopes):provider_id(String.t): Filter by provider ID:provider_key_id(String.t): Filter by provider key ID
Returns
{:ok, ExBifrost.Model.ListPricingOverridesResponse.t}on success{:error, Tesla.Env.t}on failure
@spec list_provider_governance( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.ListProviderGovernanceResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
List provider governance Returns a list of all providers with their governance settings (budget and rate limits).
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.ListProviderGovernanceResponse.t}on success{:error, Tesla.Env.t}on failure
@spec list_rate_limits( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.ListRateLimitsResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
List rate limits
Returns a list of all rate limits. Use the from_memory query parameter to get data from in-memory cache.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters:from_memory(boolean()): If true, returns rate limits from in-memory cache instead of database
Returns
{:ok, ExBifrost.Model.ListRateLimitsResponse.t}on success{:error, Tesla.Env.t}on failure
@spec list_routing_rules( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.ListRoutingRulesResponse.t()} | {:error, Tesla.Env.t()}
List routing rules Returns a list of all routing rules configured for intelligent request routing across providers.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters:scope(String.t): Filter routing rules by scope (global, team, customer, virtual_key):scope_id(String.t): Filter routing rules by scope ID
Returns
{:ok, ExBifrost.Model.ListRoutingRulesResponse.t}on success{:error, Tesla.Env.t}on failure
@spec list_virtual_keys( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.ListVirtualKeysResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
List virtual keys Returns a list of all virtual keys with their configurations.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters:from_memory(boolean()): If true, returns virtual keys from in-memory cache instead of database:limit(integer()): Maximum number of virtual keys to return:offset(integer()): Number of virtual keys to skip:search(String.t): Case-insensitive search by virtual key name:customer_id(String.t): Filter virtual keys by customer ID:team_id(String.t): Filter virtual keys by team ID:sort_by(String.t): Field to sort by:order(String.t): Sort order:export(boolean()): If true, enables export pagination limits:exclude_access_profile_managed_virtual(boolean()): If true, excludes virtual keys managed by access profiles
Returns
{:ok, ExBifrost.Model.ListVirtualKeysResponse.t}on success{:error, Tesla.Env.t}on failure
@spec remove_team_from_business_unit( Tesla.Env.client(), String.t(), String.t(), keyword() ) :: {:ok, ExBifrost.Model.MessageResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.ManagementErrorResponse.t()} | {:error, Tesla.Env.t()}
Remove team from business unit Unassigns a team from the business unit.
Parameters
connection(ExBifrost.Connection): Connection to serverid(String.t): Business unit IDteam_id(String.t): Team IDopts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.MessageResponse.t}on success{:error, Tesla.Env.t}on failure
@spec reset_complexity_analyzer_config( Tesla.Env.client(), keyword() ) :: {:ok, ExBifrost.Model.GetComplexityAnalyzerConfig200Response.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Reset complexity analyzer config Restores the built-in complexity analyzer runtime config defaults and hot-reloads the governance plugin.
Parameters
connection(ExBifrost.Connection): Connection to serveropts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.GetComplexityAnalyzerConfig200Response.t}on success{:error, Tesla.Env.t}on failure
@spec update_business_unit_governance( Tesla.Env.client(), String.t(), ExBifrost.Model.UpdateBusinessUnitGovernanceRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.UpdateBusinessUnitGovernance200Response.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.ManagementErrorResponse.t()} | {:error, Tesla.Env.t()}
Update business unit governance
Updates budget and/or rate limit governance for a business unit. Passing an empty budget or rate_limit object removes that governance component.
Parameters
connection(ExBifrost.Connection): Connection to serverid(String.t): Business unit IDupdate_business_unit_governance_request(UpdateBusinessUnitGovernanceRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.UpdateBusinessUnitGovernance200Response.t}on success{:error, Tesla.Env.t}on failure
@spec update_complexity_analyzer_config( Tesla.Env.client(), ExBifrost.Model.GetComplexityAnalyzerConfig200Response.t(), keyword() ) :: {:ok, ExBifrost.Model.GetComplexityAnalyzerConfig200Response.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Update complexity analyzer config Replaces the full complexity analyzer runtime config and hot-reloads the governance plugin. Tier thresholds must satisfy 0 < simple_medium < medium_complex < complex_reasoning < 1.
Parameters
connection(ExBifrost.Connection): Connection to serverget_complexity_analyzer_config200_response(GetComplexityAnalyzerConfig200Response):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.GetComplexityAnalyzerConfig200Response.t}on success{:error, Tesla.Env.t}on failure
@spec update_customer( Tesla.Env.client(), String.t(), ExBifrost.Model.UpdateCustomerRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.CustomerResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.ManagementErrorResponse.t()} | {:error, Tesla.Env.t()}
Update customer Updates an existing customer.
Parameters
connection(ExBifrost.Connection): Connection to servercustomer_id(String.t): Customer IDupdate_customer_request(UpdateCustomerRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.CustomerResponse.t}on success{:error, Tesla.Env.t}on failure
@spec update_governance_team( Tesla.Env.client(), String.t(), ExBifrost.Model.UpdateTeamRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.TeamResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.ManagementErrorResponse.t()} | {:error, Tesla.Env.t()}
Update team Updates an existing team.
Parameters
connection(ExBifrost.Connection): Connection to serverteam_id(String.t): Team IDupdate_team_request(UpdateTeamRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.TeamResponse.t}on success{:error, Tesla.Env.t}on failure
@spec update_model_config( Tesla.Env.client(), String.t(), ExBifrost.Model.UpdateModelConfigRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.ModelConfigResponse.t()} | {:error, Tesla.Env.t()}
Update model config Updates an existing model configuration's budget and rate limit settings.
Parameters
connection(ExBifrost.Connection): Connection to servermc_id(String.t): Model config IDupdate_model_config_request(UpdateModelConfigRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.ModelConfigResponse.t}on success{:error, Tesla.Env.t}on failure
@spec update_pricing_override( Tesla.Env.client(), String.t(), ExBifrost.Model.UpdatePricingOverrideRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.PricingOverrideResponse.t()} | {:error, Tesla.Env.t()}
Update pricing override
Updates an existing pricing override. Omitted fields are merged from the existing record. The patch field is always replaced in full when provided.
Parameters
connection(ExBifrost.Connection): Connection to serverid(String.t): Pricing override IDupdate_pricing_override_request(UpdatePricingOverrideRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.PricingOverrideResponse.t}on success{:error, Tesla.Env.t}on failure
@spec update_provider_governance( Tesla.Env.client(), String.t(), ExBifrost.Model.UpdateProviderGovernanceRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.ProviderGovernanceResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Update provider governance Updates governance settings (budget and rate limits) for a specific provider.
Parameters
connection(ExBifrost.Connection): Connection to serverprovider_name(String.t): Provider nameupdate_provider_governance_request(UpdateProviderGovernanceRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.ProviderGovernanceResponse.t}on success{:error, Tesla.Env.t}on failure
@spec update_routing_rule( Tesla.Env.client(), String.t(), ExBifrost.Model.UpdateRoutingRuleRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.BifrostError.t()} | {:ok, ExBifrost.Model.RoutingRuleResponse.t()} | {:error, Tesla.Env.t()}
Update routing rule Updates an existing routing rule's configuration.
Parameters
connection(ExBifrost.Connection): Connection to serverrule_id(String.t): Routing rule IDupdate_routing_rule_request(UpdateRoutingRuleRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.RoutingRuleResponse.t}on success{:error, Tesla.Env.t}on failure
@spec update_virtual_key( Tesla.Env.client(), String.t(), ExBifrost.Model.UpdateVirtualKeyRequest.t(), keyword() ) :: {:ok, ExBifrost.Model.VirtualKeyResponse.t()} | {:ok, ExBifrost.Model.BifrostError.t()} | {:error, Tesla.Env.t()}
Update virtual key Updates an existing virtual key's configuration.
Parameters
connection(ExBifrost.Connection): Connection to servervk_id(String.t): Virtual key IDupdate_virtual_key_request(UpdateVirtualKeyRequest):opts(keyword): Optional parameters
Returns
{:ok, ExBifrost.Model.VirtualKeyResponse.t}on success{:error, Tesla.Env.t}on failure