FruxonDocs
IntegrationsConfigs

Creates a new configuration for the integration.

The new config starts as a draft with no published revision; tool calls that resolve a config will fail until `/integrations/{integration}/configs/{config}:publish` is called. The `integrationId` on the request body is overwritten with the route value, so passing a mismatched ID is silently corrected.

POST
/v1/tenants/{tenant}/integrations/{integration}/configs
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

The configuration to create.

integrationId?string|null
displayName*string|null
parameters?|null
auth?

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

authMap?|null
sandboxMode?string

Per-integration sandbox behavior chosen by the tenant. Resolved only when the agent runs in Fruxon.Model.ExecutionEngine.ExecutionMode.Sandbox. Serialized as UPPER_SNAKE_CASE strings — NONE, VENDOR, SIMULATED, READ_THROUGH.

Value in"UNSPECIFIED" | "NONE" | "VENDOR" | "SIMULATED" | "READ_THROUGH"
sandboxVariant?

Mode-specific (Parameters, Auth, AuthMap) bundle held by Fruxon.Model.Integrations.IntegrationConfig.SandboxVariant.

oAuthCredentialKey?string|null

Optional single-use key returned by the application-level OAuth success popup. When set, the server finalizes the OAuth flow as part of the save: it consumes the key, materializes a config-scoped IntegrationAuth row, and binds it to the new config. The frontend never sees the access tokens.

[key: string]?never

Response Body

curl -X POST "https://api.fruxon.com/v1/tenants/string/integrations/string/configs" \  -H "Content-Type: application/json" \  -d '{    "displayName": "string"  }'
{
  "id": "00000000-0000-0000-0000-000000000000",
  "integrationId": "string",
  "displayName": "string",
  "parameters": {},
  "hasAuth": false,
  "hasAuthMap": false,
  "authMethodId": "string",
  "auth": {
    "level": "APPLICATION",
    "integrationAuthMetadataId": "string",
    "grantedScopes": [
      "string"
    ]
  },
  "authMapEntries": [
    {
      "parameters": {}
    }
  ],
  "sandboxMode": "NONE",
  "sandboxVariant": {
    "parameters": {},
    "auth": {
      "integrationAuthMetadataId": "string",
      "level": "APPLICATION",
      "parameters": {}
    },
    "authMap": [
      {
        "parameters": null,
        "authConfig": null
      }
    ]
  },
  "publishedRevisionId": "00000000-0000-0000-0000-000000000000",
  "createdBy": "string",
  "createdAt": 0,
  "modifiedAt": 0
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
Empty
Empty