POST /api/v1/forward/channels/{channel_id}
Uses merge-patch semantics. Omitted fields remain unchanged.
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer <PAT> |
Content-Type | Yes | application/json |
Idempotency-Key | No | Optional idempotency key for unsafe requests. |
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | Channel ID. |
Body parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | No | Channel display name. |
identity_id | string | No | New bound Forward Identity ID. |
template_id | string | No | New bound Forward Template ID. |
enabled | boolean | No | Manual enable or disable switch. |
channel_config.response_options | object | No | Reply visibility settings. |
Example request
Example response
HTTP 200 OKResponse fields
Returns the updated Channel object.Errors
| HTTP | Type | Code | Trigger |
|---|---|---|---|
| 400 | invalid_request_error | invalid_request | Request body is invalid. |
| 404 | not_found_error | channel_not_found | Channel does not exist. |
| 404 | not_found_error | channel_template_not_found | New Template does not exist. |
| 404 | not_found_error | channel_identity_not_found | New Identity does not exist. |
| 409 | conflict_error | channel_identity_disabled | New Identity is disabled. |
Notes
id,type, andchannel_typecannot be updated.binding_statusis system-maintained.enabled=trueonly opens the manual switch. It does not changebinding_status.- Updating
identity_idortemplate_idmay stop reusing existing conversation bindings; new inbound messages use the new binding.