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
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",
    "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": "_1",
      "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