ExBifrost.Api.Governance (ex_bifrost v0.1.0)

Copy Markdown View Source

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 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 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 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

assign_team_to_business_unit(connection, id, assign_team_to_business_unit_request, opts \\ [])

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 server
  • id (String.t): Business unit ID
  • assign_team_to_business_unit_request (AssignTeamToBusinessUnitRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.MessageResponse.t} on success
  • {:error, Tesla.Env.t} on failure

create_business_unit(connection, create_team_request, opts \\ [])

Create business unit Creates a new business unit. Names must be unique.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • create_team_request (CreateTeamRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.CreateTeam200Response.t} on success
  • {:error, Tesla.Env.t} on failure

create_business_unit_governance(connection, id, create_business_unit_governance_request, opts \\ [])

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 server
  • id (String.t): Business unit ID
  • create_business_unit_governance_request (CreateBusinessUnitGovernanceRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.CreateBusinessUnitGovernance200Response.t} on success
  • {:error, Tesla.Env.t} on failure

create_customer(connection, create_customer_request, opts \\ [])

Create customer Creates a new customer.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • create_customer_request (CreateCustomerRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.CustomerResponse.t} on success
  • {:error, Tesla.Env.t} on failure

create_governance_team(connection, create_team_request, opts \\ [])

Create team Creates a new team.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • create_team_request (CreateTeamRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.TeamResponse.t} on success
  • {:error, Tesla.Env.t} on failure

create_model_config(connection, create_model_config_request, opts \\ [])

Create model config Creates a new model configuration with budget and rate limit settings.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • create_model_config_request (CreateModelConfigRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.ModelConfigResponse.t} on success
  • {:error, Tesla.Env.t} on failure

create_pricing_override(connection, create_pricing_override_request, opts \\ [])

Create pricing override Creates a new pricing override. The most specific matching scope always wins during cost resolution.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • create_pricing_override_request (CreatePricingOverrideRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.PricingOverrideResponse.t} on success
  • {:error, Tesla.Env.t} on failure

create_routing_rule(connection, create_routing_rule_request, opts \\ [])

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 server
  • create_routing_rule_request (CreateRoutingRuleRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.RoutingRuleResponse.t} on success
  • {:error, Tesla.Env.t} on failure

create_virtual_key(connection, create_virtual_key_request, opts \\ [])

Create virtual key Creates a new virtual key with the specified configuration.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • create_virtual_key_request (CreateVirtualKeyRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.VirtualKeyResponse.t} on success
  • {:error, Tesla.Env.t} on failure

delete_business_unit(connection, id, opts \\ [])

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 server
  • id (String.t): Business unit ID
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.MessageResponse.t} on success
  • {:error, Tesla.Env.t} on failure

delete_business_unit_governance(connection, id, opts \\ [])

@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 server
  • id (String.t): Business unit ID
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.MessageResponse.t} on success
  • {:error, Tesla.Env.t} on failure

delete_customer(connection, customer_id, opts \\ [])

Delete customer Deletes a customer.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • customer_id (String.t): Customer ID
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.MessageResponse.t} on success
  • {:error, Tesla.Env.t} on failure

delete_governance_team(connection, team_id, opts \\ [])

Delete team Deletes a team.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • team_id (String.t): Team ID
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.MessageResponse.t} on success
  • {:error, Tesla.Env.t} on failure

delete_model_config(connection, mc_id, opts \\ [])

@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 server
  • mc_id (String.t): Model config ID
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.MessageResponse.t} on success
  • {:error, Tesla.Env.t} on failure

delete_pricing_override(connection, id, opts \\ [])

@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 server
  • id (String.t): Pricing override ID
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.MessageResponse.t} on success
  • {:error, Tesla.Env.t} on failure

delete_provider_governance(connection, provider_name, opts \\ [])

@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 server
  • provider_name (String.t): Provider name
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.MessageResponse.t} on success
  • {:error, Tesla.Env.t} on failure

delete_routing_rule(connection, rule_id, opts \\ [])

@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 server
  • rule_id (String.t): Routing rule ID
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.MessageResponse.t} on success
  • {:error, Tesla.Env.t} on failure

delete_virtual_key(connection, vk_id, opts \\ [])

@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 server
  • vk_id (String.t): Virtual key ID
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.MessageResponse.t} on success
  • {:error, Tesla.Env.t} on failure

get_business_unit(connection, id, opts \\ [])

Get business unit Returns a specific business unit by ID, including governance and team count.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • id (String.t): Business unit ID
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.GetBusinessUnit200Response.t} on success
  • {:error, Tesla.Env.t} on failure

get_complexity_analyzer_config(connection, opts \\ [])

@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 server
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.GetComplexityAnalyzerConfig200Response.t} on success
  • {:error, Tesla.Env.t} on failure

get_customer(connection, customer_id, opts \\ [])

Get customer Returns a specific customer by ID.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • customer_id (String.t): Customer ID
  • opts (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

get_governance_team(connection, team_id, opts \\ [])

@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 server
  • team_id (String.t): Team ID
  • opts (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

get_model_config(connection, mc_id, opts \\ [])

Get model config Returns a specific model configuration by ID.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • mc_id (String.t): Model config ID
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.GetModelConfig200Response.t} on success
  • {:error, Tesla.Env.t} on failure

get_routing_rule(connection, rule_id, opts \\ [])

Get routing rule Returns a specific routing rule by ID.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • rule_id (String.t): Routing rule ID
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.GetRoutingRule200Response.t} on success
  • {:error, Tesla.Env.t} on failure

get_virtual_key(connection, vk_id, opts \\ [])

Get virtual key Returns a specific virtual key by ID.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • vk_id (String.t): Virtual key ID
  • opts (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

get_virtual_key_quota(connection, opts \\ [])

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 server
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.VirtualKeyQuotaResponse.t} on success
  • {:error, Tesla.Env.t} on failure

list_budgets(connection, opts \\ [])

@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 server
  • opts (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

list_business_unit_teams(connection, id, opts \\ [])

List business unit teams Returns a paginated list of teams assigned to the business unit.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • id (String.t): Business unit ID
  • opts (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

list_business_units(connection, opts \\ [])

@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 server
  • opts (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

list_customers(connection, opts \\ [])

@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 server
  • opts (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

list_governance_teams(connection, opts \\ [])

@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 server
  • opts (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

list_model_configs(connection, opts \\ [])

@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 server
  • opts (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, or user; user is 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

list_pricing_overrides(connection, opts \\ [])

@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 server
  • opts (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

list_provider_governance(connection, opts \\ [])

@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 server
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.ListProviderGovernanceResponse.t} on success
  • {:error, Tesla.Env.t} on failure

list_rate_limits(connection, opts \\ [])

@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 server
  • opts (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

list_routing_rules(connection, opts \\ [])

@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 server
  • opts (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

list_virtual_keys(connection, opts \\ [])

@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 server
  • opts (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

remove_team_from_business_unit(connection, id, team_id, opts \\ [])

@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 server
  • id (String.t): Business unit ID
  • team_id (String.t): Team ID
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.MessageResponse.t} on success
  • {:error, Tesla.Env.t} on failure

reset_complexity_analyzer_config(connection, opts \\ [])

@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 server
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.GetComplexityAnalyzerConfig200Response.t} on success
  • {:error, Tesla.Env.t} on failure

update_business_unit_governance(connection, id, update_business_unit_governance_request, opts \\ [])

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 server
  • id (String.t): Business unit ID
  • update_business_unit_governance_request (UpdateBusinessUnitGovernanceRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.UpdateBusinessUnitGovernance200Response.t} on success
  • {:error, Tesla.Env.t} on failure

update_complexity_analyzer_config(connection, get_complexity_analyzer_config200_response, opts \\ [])

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 server
  • get_complexity_analyzer_config200_response (GetComplexityAnalyzerConfig200Response):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.GetComplexityAnalyzerConfig200Response.t} on success
  • {:error, Tesla.Env.t} on failure

update_customer(connection, customer_id, update_customer_request, opts \\ [])

Update customer Updates an existing customer.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • customer_id (String.t): Customer ID
  • update_customer_request (UpdateCustomerRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.CustomerResponse.t} on success
  • {:error, Tesla.Env.t} on failure

update_governance_team(connection, team_id, update_team_request, opts \\ [])

Update team Updates an existing team.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • team_id (String.t): Team ID
  • update_team_request (UpdateTeamRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.TeamResponse.t} on success
  • {:error, Tesla.Env.t} on failure

update_model_config(connection, mc_id, update_model_config_request, opts \\ [])

Update model config Updates an existing model configuration's budget and rate limit settings.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • mc_id (String.t): Model config ID
  • update_model_config_request (UpdateModelConfigRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.ModelConfigResponse.t} on success
  • {:error, Tesla.Env.t} on failure

update_pricing_override(connection, id, update_pricing_override_request, opts \\ [])

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 server
  • id (String.t): Pricing override ID
  • update_pricing_override_request (UpdatePricingOverrideRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.PricingOverrideResponse.t} on success
  • {:error, Tesla.Env.t} on failure

update_provider_governance(connection, provider_name, update_provider_governance_request, opts \\ [])

Update provider governance Updates governance settings (budget and rate limits) for a specific provider.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • provider_name (String.t): Provider name
  • update_provider_governance_request (UpdateProviderGovernanceRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.ProviderGovernanceResponse.t} on success
  • {:error, Tesla.Env.t} on failure

update_routing_rule(connection, rule_id, update_routing_rule_request, opts \\ [])

Update routing rule Updates an existing routing rule's configuration.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • rule_id (String.t): Routing rule ID
  • update_routing_rule_request (UpdateRoutingRuleRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.RoutingRuleResponse.t} on success
  • {:error, Tesla.Env.t} on failure

update_virtual_key(connection, vk_id, update_virtual_key_request, opts \\ [])

Update virtual key Updates an existing virtual key's configuration.

Parameters

  • connection (ExBifrost.Connection): Connection to server
  • vk_id (String.t): Virtual key ID
  • update_virtual_key_request (UpdateVirtualKeyRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, ExBifrost.Model.VirtualKeyResponse.t} on success
  • {:error, Tesla.Env.t} on failure