Create a channel in a workspace
POST /api/workspaces/{workspaceId}/channels
Creates a channel in a workspace. Email channels begin provisioning and progress through pending states; chat and voice channels become active immediately. For voice channels, bind a provisioned phone number via phoneNumberId. The created channel record is returned.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The unique identifier of the workspace to create the channel in.
Request Body
Section titled “Request Body ”object
The type of channel to create.
Example
emailA human-readable name for the channel. Leading and trailing whitespace is trimmed.
Example
Support EmailChannel-specific configuration. Email and chat channels validate this against their own configuration shape. Defaults to an empty object.
object
Example
{ "inboundAddress": "support@acme.example"}Whether the channel is enabled. Defaults to true.
Example
trueThe provisioned phone number to bind. Required when the channel type is voice_phone, and not permitted for other types.
Example
pn1a2b3c-5678-9abc-def0-1234567890abResponses
Section titled “ Responses ”The channel was created.
A channel represents a communication pathway through which oHallo sends and receives messages. Each channel has a type, configuration, and provisioning status.
object
Unique identifier for the channel.
Example
d4e5f6a7-b8c9-0123-4567-890abcdef012Workspace the channel belongs to.
Example
a1b2c3d4-e5f6-7890-abcd-ef1234567890Channel type: email, chat, whatsapp, or voice.
Example
emailHuman-readable name.
Example
Support EmailProvisioning status: active, pending_dns, provisioning, or error.
Example
activeChannel-specific configuration (non-sensitive settings only).
Example
{ "inboundAddress": "support@nordic-parts.dk", "fromName": "Nordic Parts Support"}Timestamp when the channel was created.
Example
2026-01-10T08:00:00.000ZThe requested phone number is already bound to another voice channel.
Standard error response returned by all endpoints on failure.
object
A human-readable error message describing what went wrong.
Example
Conversation not foundValidation error. One or more required fields are missing or invalid.
Standard error response returned by all endpoints on failure.
object
A human-readable error message describing what went wrong.
Example
Conversation not found