FruxonDocs
IntegrationsTools

Runs a tool with the provided parameters.

Resolves the tool by ID within the integration and executes it. When `configId` is set the tool runs against that config's currently published revision — the server resolves its (encrypted) credentials internally, so no secret ever travels in the request. Omit `configId` for SYSTEM / no-auth tools (e.g. File Tools), which run against an empty placeholder config. An optional `resultSelect` previews the agent runtime's `result_select` field projection over a JSON result; it is preview-only and never persisted. Every value in `parameters` must be sent as a JSON <b>string</b>, whatever the parameter's declared type — `"count": "3"`, `"dryRun": "true"`, `"rows": "[[1,2]]"`. The bag is typed server-side against the tool's declared parameters; sending a bare number, boolean or object fails model binding with 400 `"The JSON value could not be converted to System.String"`. The result comes back both ways: `response` is the flattened string form (unchanged), and `resultType` / `jsonValue` / `fileLink` carry the shape the tool actually returned, so a caller need not sniff `response` nor fetch the tool's metadata to learn its type.

POST
/v1/tenants/{tenant}/integrations/{integration}/tools:run
AuthorizationBearer <token>

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

In: header

Path Parameters

integration*string

The integration ID.

tenant*string

The tenant identifier

Tool ID, input parameters, optional config reference and result selector.

toolId*string

Tool ID within the integration (e.g. "list_channels").

parameters?

Tool input parameters as key-value pairs. Every value is a JSON string on the wire regardless of the parameter's declared type — "3", "true", "[[1,2]]", not 3, true, [[1,2]] — and is converted to the declared type server-side by Fruxon.Model.ToolExecutions.ToolRunParameterBinder. A bare non-string JSON value fails model binding with a 400 before the action ever runs.

configId?string|null

Optional reference to a persisted, published integration config. The server resolves that config's (encrypted) credentials internally — the secret never travels in this request. Omit for SYSTEM / no-auth tools (e.g. File Tools), which execute against an empty placeholder config.

Formatuuid
resultSelect?string|null

Optional preview-only field projection: a comma-separated list of field paths to keep from the tool's JSON result (identical syntax and engine as the agent runtime's result_select). When set, the runner applies Fruxon.Model.ExecutionEngine.ResultProjection over the result before returning it. Ignored for non-JSON results; not persisted anywhere.

[key: string]?never

Response Body

curl -X POST "https://api.fruxon.com/v1/tenants/string/integrations/string/tools:run" \  -H "Content-Type: application/json" \  -d '{    "toolId": "string"  }'
{
  "response": "string",
  "resultType": "STRING",
  "jsonValue": null,
  "fileLink": "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
}
Empty