FruxonDocs
IntegrationsAssets

Updates an asset's mutable settings (e.g

Patches only the fields supplied in the request body; omitted fields are left untouched. Token-budget changes are pushed to the RAG service and take effect on subsequent searches without re-ingestion. Toggling auto-update may create a webhook; when the provider requires manual registration the response includes the webhook URL — it is returned only once, so store it. To rotate that URL later call `POST /assets/{asset}:regenerateWebhook`. Returns 400 if the asset is not vectorized and the request attempts to change vector-dependent settings.

PATCH
/v1/tenants/{tenant}/assets/{asset}
AuthorizationBearer <token>

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

In: header

Path Parameters

asset*string

The local asset ID.

Formatuuid
tenant*string

The tenant identifier

Fields to update. Only provided fields are applied.

displayName?string|null
description?string|null

Optional note describing what the asset contains and when an agent should use it. Injected into the step system prompt alongside the asset link. When null the existing description is left unchanged (mirrors Fruxon.Model.Assets.UpdateAssetRequest.DisplayName).

budget?

Token budget limits for a RAG asset ingestion.

currencyBudget?

Currency-based budget in USD. Mutually exclusive with Fruxon.Model.Assets.UpdateAssetRequest.Budget. Converted to token budget using the asset's embedding model pricing.

embedding?

Embedding and chunking settings for a partial asset update. All fields are optional — only provided fields are applied. Changing Fruxon.Rag.RagUpdateEmbeddingConfig.Provider, Fruxon.Rag.RagUpdateEmbeddingConfig.Model, Fruxon.Rag.RagUpdateEmbeddingConfig.ChunkSize, or Fruxon.Rag.RagUpdateEmbeddingConfig.ChunkOverlap triggers re-ingestion.

sourceConfig?|null
auth?

When present, replaces the asset's stored auth credentials (e.g. an edited access token). null leaves existing credentials unchanged. The new secret is re-validated and connectivity-tested, persisted encrypted, and propagated to the RAG service via the source-config PATCH (a credential-only change does not trigger re-ingestion). The auth-method id may be omitted to keep the asset's current method.

integrationConfigId?string|null

When set, (re)points the asset at a shared tenant integration config for its source credential and drops any inline credential. Mutually exclusive with Fruxon.Model.Assets.UpdateAssetRequest.Auth — sending an inline credential for a config-backed asset is rejected.

Formatuuid
embeddingLlmConfigId?string|null

Optional reference to a tenant-level LLM config for embedding credentials. Used when vectorizing an asset for the first time via update.

Formatuuid
autoUpdate?

When present, replaces the asset's auto-update configuration. Set to a config object to enable/change auto-update, or use Fruxon.Model.Assets.UpdateAssetRequest.DisableAutoUpdate to turn it off.

disableAutoUpdate?boolean

When true, disables auto-update for this asset (removes webhook subscription). Takes precedence over Fruxon.Model.Assets.UpdateAssetRequest.AutoUpdate when both are provided.

[key: string]?never

Response Body

curl -X PATCH "https://api.fruxon.com/v1/tenants/string/assets/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{
  "asset": {
    "id": "string",
    "displayName": "string",
    "description": "string",
    "type": "string",
    "vectorized": false,
    "config": {
      "sourceType": "string",
      "parameters": {}
    },
    "integrationId": "string",
    "assetLink": "string",
    "createdAt": 0,
    "modifiedAt": 0,
    "autoUpdate": false,
    "autoUpdateConfig": {
      "strategy": "WEBHOOK",
      "provider": "string",
      "externalContext": "string",
      "filter": "string",
      "pollFrequency": "DAILY",
      "pollDay": "string",
      "pollDayOfMonth": 0,
      "pollHour": "string",
      "pollMinute": "string",
      "timezone": "string"
    },
    "lastPolledAt": 0,
    "embeddingLlmConfigId": "string",
    "integrationConfigId": "string",
    "supportsAutoUpdate": false,
    "supportsWebhookRegistration": false,
    "supportsPollSchedule": false,
    "embedding": {
      "provider": "string",
      "model": "string",
      "chunkSize": 0,
      "chunkOverlap": 0
    },
    "budget": {
      "tokenBudget": 0,
      "monthlyTokenBudget": 0,
      "dailyTokenBudget": 0,
      "totalTokenCount": 0,
      "lifetimeTokensUsed": 0,
      "monthlyTokensUsed": 0,
      "dailyTokensUsed": 0,
      "costBudget": 0,
      "monthlyCostBudget": 0,
      "dailyCostBudget": 0,
      "totalCost": 0,
      "monthlyCostUsed": 0,
      "dailyCostUsed": 0,
      "pricePerMillionTokens": 0
    },
    "embeddingStatus": "PENDING",
    "errorCategory": "CREDENTIALS"
  },
  "webhook": {
    "id": "string",
    "provider": "string",
    "authMode": "API_KEY",
    "status": "ACTIVE",
    "expiresAt": 0,
    "createdAt": 0,
    "modifiedAt": 0,
    "webhookUrl": "string",
    "signingSecret": "string"
  }
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
Empty
Empty
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}