FruxonDocs
AgentsCore

Updates an existing agent

Patches top-level agent metadata (display name, description, etc.). This does not touch the flow definition or any revision — to change the executable behavior, edit the draft revision and redeploy. The update is applied to the live agent record immediately and is visible to all collaborators on the next read. Returns 404 if the agent has been deleted or is still in the deletion grace period from another caller.

PUT
/v1/tenants/{tenant}/agents/{agent}
AuthorizationBearer <token>

JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.

In: header

Path Parameters

agent*string

The unique identifier of the agent to update.

tenant*string

The tenant identifier

The agent update request.

displayName?string|null
description?string|null
avatarFileId?string|null
type?string

Enum representing the different types of AI agents supported by Fruxon. Wire form is UPPER_SNAKE; Unspecified = 0 is the AIP-126 zero-sentinel.

This enum is mandatory, meaning every agent must have a specific type.

Value in"UNSPECIFIED" | "SUMMARIZATION" | "RECOMMENDATION" | "ANALYZER" | "CHAT" | "OTHER"
tags?|null
externalConfig?

Configuration for an externally-hosted agent. Persisted as JSONB on Fruxon.Model.Agents.Agent.ExternalConfig; null when Fruxon.Model.Agents.Agent.Origin is Fruxon.Model.Agents.External.AgentOrigin.Native.

Connection details are a free-form System.Collections.Generic.Dictionary2 whose schema is declared per-platform by the matching IAgentPlatformDescriptor.ConnectionParameters. This mirrors how connectors and integrations work: persistent state is a flat dict, descriptors carry the schema, secrets are auto-encrypted by walking the metadata. Adding a new platform with novel auth (OAuth, signed JWT, mTLS) needs no shared-code changes — just new ParameterMetadata` entries on the descriptor.

Conventional keys (most platforms use most of these):

  • endpoint: the HTTP base URL
  • assistant_id: platform-side agent identifier (LangGraph assistant_id, OpenAI assistant id)
  • auth_header_name / auth_header_value: generic header-based auth
  • api_key: when the platform expects a fixed header
  • timeout_seconds: per-invocation timeout
redactLlmMessages?boolean|null

Per-agent prompt/completion redaction toggle. Nullable so the partial-update payload can leave it untouched; only flipped when the caller explicitly sends a value.

[key: string]?never

Response Body

curl -X PUT "https://api.fruxon.com/v1/tenants/string/agents/string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "string",
  "displayName": "string",
  "description": "string",
  "avatarFileId": "string",
  "tags": [
    "string"
  ],
  "type": "SUMMARIZATION",
  "enabled": false,
  "currentRevision": 0,
  "createdAt": 0,
  "modifiedAt": 0,
  "tenantId": "00000000-0000-0000-0000-000000000000",
  "solutionId": "string",
  "deletedAt": 0,
  "evaluationMetrics": [
    {
      "metricId": "00000000-0000-0000-0000-000000000000",
      "weight": 0
    }
  ],
  "origin": "NATIVE",
  "externalConfig": {
    "parameters": {}
  },
  "redactLlmMessages": false
}
Empty
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}