Deletes a configuration.
Rejected with 400 if any agent's <em>current</em> revision (or a participant / active trigger) still references this config via `TenantConfigId` — use the `/usage` endpoint to check first. With no live references, the config is hard-deleted (along with its revision history) when nothing references it at all, or <em>soft-deleted</em> when only a historical agent revision still pins it — the row is retained (and the credential severed from live use) so a revert can `:restore` it. See `docs/design/integration-config-deletion-lifecycle.md`.
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
Response Body
curl -X DELETE "https://api.fruxon.com/v1/tenants/string/integrations/string/configs/497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"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
}Mints a short-lived, client-usable OAuth access token for this config so an in-browser SDK that requires the token directly (e.g
Available only for integrations that opt in via `Integration.AllowsClientOAuthToken` — a live token in the browser is usable outside Fruxon with the config's full scopes, so most integrations must never expose it. The token carries the config's scopes and self-expires on the provider's TTL. The underlying credential access is audited by the resolver; this adds a distinct browser-vend log signal. Returns 400 when the integration hasn't opted in, the config has no OAuth auth configured, the stored credentials can't be refreshed, or no account is connected yet.
Mints the inbound webhook URL for this configuration
For one-webhook-per-credential providers (Telegram, Slack Events API, Twilio, Dialog360) where every chat / channel under the same bot shares one URL. The full URL is shown exactly once in the response — read paths only ever expose the template + key prefix. Re-mint via `/webhook:rotate` if the URL is lost; that revokes the previous key, so the operator must re-register the new URL with the provider before traffic resumes. Returns 400 when the integration declares per-binding webhook ownership (the binding-level mint is the right surface for those — activations flow automatically through participant create / update), or when this config already has a key bound (use `/webhook:rotate` to refresh).