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.
Egress country (ISO 3166-1 alpha-2). Null leaves the previously saved value untouched; an empty string clears the egress pin.
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",
"parameters": {},
"grantedScopes": [
"string"
],
"credentialHealth": "HEALTHY",
"credentialHealthDetail": "string"
},
"authMapEntries": [
{
"parameters": {},
"authConfig": {
"integrationAuthMetadataId": "string",
"level": "UNSPECIFIED",
"parameters": {}
}
}
],
"sandboxMode": "NONE",
"sandboxVariant": {
"parameters": {},
"auth": {
"integrationAuthMetadataId": "string",
"level": "APPLICATION",
"parameters": {}
},
"authMap": [
{
"parameters": null,
"authConfig": null
}
]
},
"egressCountry": "string",
"publishedRevisionId": "00000000-0000-0000-0000-000000000000",
"hasWebhookKey": false,
"webhookOwnership": "PER_BINDING",
"botIdentity": {
"handle": "string",
"displayName": "string",
"providerId": "string",
"fetchedAt": 0
},
"webhookConsumers": {
"triggers": [
{
"id": "00000000-0000-0000-0000-000000000000",
"displayName": "string",
"eventType": "string",
"active": false
}
],
"participantChannels": [
{
"participantId": "00000000-0000-0000-0000-000000000000",
"participantDisplayName": "string",
"address": "string"
}
],
"participantChannelTotalCount": 0
},
"credentialHealth": "HEALTHY",
"credentialHealthDetail": "string",
"credentialHealthChangedAt": 0,
"createdBy": "string",
"createdAt": 0,
"modifiedAt": 0,
"deletedAt": 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
}Asks the provider what webhook URL it currently has registered for this config and whether recent deliveries have been failing.
Phase 11e. Read-side companion to `:applyWebhookToProvider`. Resolves an Fruxon.Model.Integrations.Configs.Webhook.IProviderWebhookInspector keyed by integration id and probes the provider — Telegram returns `getWebhookInfo`'s URL + `last_error_message` + `pending_update_count`; providers without a registered inspector return 400 and the FE hides the verify affordance.
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.