FruxonDocs
IntegrationsConfigs

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.

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

config*string

The configuration ID.

Formatuuid
tenant*string

The tenant identifier

The webhook URL to register.

webhookUrl?string|null

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.

[key: string]?never

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
}
Empty
Empty
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}