Skip to main content

Agent Defaults Update

[MODE:SIDEEFFECTS] Tier: base. Not idempotent (last write wins).

Replaces (not merges) the Player's agent_defaults JSON through PATCH /api/agent_defaults. Requires API key scope agents:write. Concurrent updates are serialized by the server.

When to use

  • Setting platform-wide LLM provider/model preference.
  • Configuring provider_overrides (per-provider API keys / endpoints).
  • Updating runtime tuning fields — temperature, max_tokens, system prompt, etc.

When NOT to use

  • Tweaking a single Agent — use fibe_resource_mutate(resource:"agent", operation:"update").
  • Resetting to admin defaults — use fibe_agent_defaults_reset.

Inputs

FieldTypeRequiredNotes
agent_defaultsobjectyesReplacement JSON (full state)

Output

The updated payload (same shape as fibe_agent_defaults_get).

Behavior

  1. Authorizes via agents:write API key scope.
  2. Normalizes the payload (deep-stringifies keys, converts inline provider_args_cli strings into structured provider_args).
  3. Locks the Player row.
  4. Writes the new defaults atomically.

Gotchas

  • Replacement, not merge. To keep existing fields, fetch current via fibe_agent_defaults_get first, deep-merge yourself, then send.
  • provider_overrides may include API keys — make sure you're connected to the right tenant.
  • Without agents:write scope: 403.
  • A missing or non-object agent_defaults payload returns 400; an invalid websocket_max_connections (must be a positive integer) returns 422.
  • Existing Agents that already have explicit overrides keep them; defaults only apply to fields NOT set on the Agent.
  • fibe_agent_defaults_get — read current state first.
  • fibe_agent_defaults_reset — start over.
  • fibe_resource_mutate(resource:"agent", operation:"update") — per-Agent overrides.