FruxonDocs
AgentsCore

Updates an Agent through its canonical owning Application.

Updates the Agent's top-level metadata only — the flow graph is versioned separately through the revisions endpoints. The lookup is scoped to the Application in the route, so an Agent owned by a different Application returns 404. Requires the Editor role.

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

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

In: header

Path Parameters

network*string

Id of the owning Application.

Formatuuid
agent*string

Id of the Agent to update.

tenant*string

The tenant identifier

The fields to change. Omitted fields are left untouched.

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/networks/497f6eca-6276-4993-bfeb-53cbbbba6f08/agents/string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "string",
  "displayName": "string",
  "description": "string",
  "avatarFileId": "string",
  "tags": [
    "string"
  ],
  "type": "SUMMARIZATION",
  "enabled": false,
  "enabledBeforeDeletion": false,
  "currentRevision": 0,
  "shape": "AGENT",
  "runnableType": "AGENT",
  "createdAt": 0,
  "modifiedAt": 0,
  "tenantId": "00000000-0000-0000-0000-000000000000",
  "networkId": "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
Empty
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}