Updates a configuration.
Patches the draft state of the config only; the published revision is untouched until `:publish` is called again. Fields left null on the request body are preserved, so this is safe for partial updates of `DisplayName`, `Parameters`, `Auth`, or `AuthMap`.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The configuration ID.
uuidThe tenant identifier
The integration identifier
The patch to apply.
Auth credentials for an integration — the chosen auth method plus its filled-in parameters (API keys, tokens, …).
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.
"UNSPECIFIED" | "NONE" | "VENDOR" | "SIMULATED" | "READ_THROUGH"Mode-specific (Parameters, Auth, AuthMap) bundle held by Fruxon.Model.Integrations.IntegrationConfig.SandboxVariant.
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 this config. The frontend never sees the access tokens.
Response Body
curl -X PATCH "https://api.fruxon.com/v1/tenants/string/integrations/string/configs/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{}'{
"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
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}Deletes a configuration.
Hard-deletes the config along with every revision in its history; there is no soft-delete or recovery path. The request is rejected with 400 if any agents still reference this config via `TenantConfigId`. Use the `/usage` endpoint to check which agents reference it before deleting.
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.