Skip to content

Update Work Channel

PATCH
/work/channels/{channel_id}

Change one channel’s display name, description, visibility, seating, agent policy or archive state.

Field PRESENCE is the contract — an omitted field keeps its stored value, and description: null clears it.

name is not accepted and a rename never moves the room: the slug is the channel’s address, and changing it would strand every event already filed under the old one. 403 when the caller neither owns the channel nor holds owner/admin rights, and separately when a non-admin tries to change agent activation — an organization-level spend decision rather than a room-owner one. 409 for a built-in channel’s identity or visibility.

Authorizations

Parameters

Path Parameters

channel_id
required

Channel id or slug

string

Channel id or slug

Header Parameters

Idempotency-Key
Any of:
string

Retry-safety key. Replaying one returns the ORIGINAL result with duplicate: true instead of writing twice. Omit it and the server mints a single-use key, which means a retried request writes again — send your own for anything you may retry.

X-Target-Org-Id
Any of:
string

Request Body required

The fields of one channel a person is changing.

Field PRESENCE is the contract, not field value. An omitted field keeps whatever the channel already has; a field present with null clears it where clearing is meaningful (description) and is refused where it is not. That is the port of the gateway’s Object.hasOwn(input, …) checks, and it is why provided_fields — not the values — is what the router hands the service.

object
agentResponsePolicy
Any of:
string
Allowed values: mention_required proactive
archived
Any of:
boolean
confirmAgentAccess
boolean
description
Any of:
string
<= 1000 characters
displayName
Any of:
string
<= 255 characters
memberUserIds
Array<string>
<= 100 items
participantAgentIds
Array<string>
<= 32 items
visibility
Any of:
string
Allowed values: open private

Responses

200

Successful Response

object
data
required

The result of one channel write, with its idempotent-replay marker.

object
canvasSeeded
Any of:
boolean
channel
Any of:

One Work channel as the room stores it.

object
archivedAt
Any of:
string
createdAt
Any of:
string
createdBy
Any of:
string
description
Any of:
string
displayName
Any of:
string
id
Any of:
string
kind
Any of:
string
memberUserIds
Any of:
Array<string>
name
Any of:
string
participantAgentIds
Any of:
Array<string>
system
Any of:
boolean
visibility
Any of:
string
key
additional properties
any
duplicate
Any of:
boolean
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string