---
title: "Switch a connection’s inbound webhook on"
method: POST
path: "/v1/admin/source-connections/{id}/webhook"
tags: ["Source Plane"]
---

# Switch a connection’s inbound webhook on

`POST /v1/admin/source-connections/{id}/webhook`

## Request

- Base URL: `https://brain.inite.ai`
- URL: `https://brain.inite.ai/v1/admin/source-connections/{id}/webhook`
- Auth: HTTP bearer

Freshness for the records connectors (docs/roadmap/crm-sources-2026-09.md § 4.4): the address to register at the vendor (the tenant and the connection under an HMAC), the secret shown once (generated, or the vendor’s own — a Bitrix24 application token, a HubSpot app’s client secret), and the vendor’s how-to. Calling it again rotates the secret. Needs `SOURCE_WEBHOOKS=1` and `SOURCE_CREDENTIAL_ENCRYPTION_KEY`. Records (docs/roadmap/crm-sources-2026-09.md): a CRM row enters as FACTS — its mapped attributes become deterministic candidates under the record’s own id, never prose a model re-extracts. Source plane operator surface (docs/roadmap/raw-evidence-sources-2026-09.md) — answers a bare 404 until `SOURCE_PLANE_ENABLED=1`.

Required scope: `brain:admin`.

## Path parameters

- `id` string, required

## Request body

- WebhookSetupRequest
  - `secret` string

## Response `201`

The address, the secret (once) and the notes.

- WebhookSetupResponse
  - `notes` string[], required
  - `scheme` string, required
  - `secret` string, required
  - `url` string, required

## Other responses

- `400`: Validation failed.
- `401`: Missing or unknown bearer key.
- `403`: The key lacks the required scope.
- `404`: No such resource in this tenant.

---

[API](https://skmtc.dev/inite/apis/inite-brain-platform-api.md) · [All operations](https://skmtc.dev/inite/apis/inite-brain-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/inite/apis/inite-brain-platform-api/revisions/c7c3eb5e304b?raw)
