FruxonDocs
IntegrationsAssets

Creates an asset from a configuration dictionary.

The accepted config keys and their requirements are defined by the source type descriptor returned from the `source-types` endpoint.

POST
/v1/tenants/{tenant}/assets
AuthorizationBearer <token>

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

In: header

Path Parameters

tenant*string

The tenant identifier

The source type and configuration parameters.

config*

Represents a generalized configuration for an asset, serving as a transport model for storage and cross-system communication.

name?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.

auth?

Auth credentials for an integration — the chosen auth method plus its filled-in parameters (API keys, tokens, …).

embedding?
budget?

Token budget limits for a RAG asset ingestion.

currencyBudget?

Currency-based asset budget configuration in USD. Converted to token budget using the asset's embedding model pricing.

autoUpdate?

Describes how an asset should be kept up-to-date. Stored as a nullable JSONB column on the asset entity. When null, auto-update is disabled.

embeddingLLMConfigId?string|null

Optional reference to a tenant-level LLM config for embedding credentials. When set, the published revision's API key is used instead of Fruxon.Rag.RagEmbeddingConfig.ApiKey.

Formatuuid
[key: string]?never

Response Body

curl -X POST "https://api.fruxon.com/v1/tenants/string/assets" \  -H "Content-Type: application/json" \  -d '{    "config": {}  }'
{
  "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",
    "supportsAutoUpdate": false,
    "supportsWebhookRegistration": false,
    "supportsPollSchedule": false,
    "embedding": {
      "provider": "string",
      "model": "string",
      "chunkSize": 0,
      "chunkOverlap": 0
    },
    "budget": {
      "tokenBudget": 0,
      "monthlyTokenBudget": 0,
      "dailyTokenBudget": 0,
      "totalTokenCount": 0,
      "monthlyTokensUsed": 0,
      "dailyTokensUsed": 0,
      "costBudget": 0,
      "monthlyCostBudget": 0,
      "dailyCostBudget": 0,
      "totalCost": 0,
      "monthlyCostUsed": 0,
      "dailyCostUsed": 0,
      "pricePerMillionTokens": 0
    },
    "embeddingStatus": "PENDING",
    "errorCategory": "CREDENTIALS"
  },
  "longOperation": {
    "name": "string",
    "status": "PENDING",
    "resourceName": "string",
    "resourceType": "string",
    "startedAt": 0,
    "completedAt": 0,
    "error": "string",
    "metadata": {}
  },
  "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