Registers the freshly-minted webhook URL with the external provider on the operator's behalf
Closes the gap where the operator otherwise has to paste the URL into BotFather / Slack app settings / Twilio console manually. Providers with a programmatic registration API (Telegram `setWebhook` today, more later) get a single-click install; providers without one (Slack Events API, Teams Bot Framework) return 400 and the FE renders manual instructions instead. The FE supplies the URL it just received from `:generateWebhookUrl` / `/webhook:rotate` via the request body — Fruxon doesn't store the plaintext key, so the round-trip through the operator's browser is the only way the BE can pass the full URL to the provider. Returns 200 with `applied=false` + `errorMessage` when the provider rejects (auth failure, malformed URL, rate limit) — the FE surfaces the message inline and offers the manual-install fallback.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The integration ID.
The configuration ID.
uuidThe tenant identifier
The webhook URL to register.
The full Fruxon inbound URL the operator wants to register with
the provider. Must be the URL minted via 7a's
:generateWebhookUrl or 7a's /webhook:rotate — the
activation panel hands it straight back without modification.
Response Body
curl -X POST "https://api.fruxon.com/v1/tenants/string/integrations/string/configs/497f6eca-6276-4993-bfeb-53cbbbba6f08:applyWebhookToProvider" \ -H "Content-Type: application/json" \ -d '{}'{
"applied": false,
"providerResponse": "string",
"errorMessage": "string"
}{
"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
}Lists all configurations for the integration.
Returns every config record scoped to the integration, including unpublished drafts that have never had a revision created. Each entry exposes its current draft values plus the `PublishedRevisionId` pointer; use `/integrations/{integration}/configs/{config}/revisions` to walk the revision history.
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.