AuralisDocs
OperationsChannels and email

List every channel and its connection state

Every channel this workspace could use, and whether it has connected it.

/v1/channelsViewer
Operation id
list_channels
Access
Any workspace role can call this.
GET/v1/channels

Every channel this workspace could use, and whether it has connected it.

The union of two sets: adapters the runtime can actually ingest for, and connections the workspace has stored. A connection with no adapter is shown with adapter_available: false, meaning configured but not yet operable.

Read three fields to know where a channel stands. adapter_available says the runtime can process this channel at all. connected says this workspace has stored a connection. enabled says the operator considers it live. A channel can be available and unconnected, which is what an empty config and null timestamps mean.

outbound_supported is answered for this workspace, not for the channel in general. Email can send, so the field is true once the workspace is configured for it: either a connected Google mailbox, or a minted sending address or connected sending domain with platform sending turned on. It is false for the same workspace before any of that exists. SMS and WhatsApp receive only today, so the field is false for them in every workspace, and a reply written on one of those tickets is recorded on the timeline and not delivered anywhere.

Read the field rather than the channel name. It is the only thing that tells a client whether a reply on this channel is worth offering.

config is redacted on read. Only a short allowlist of descriptive fields comes back in the clear, and everything else reads as ***, including fields nobody anticipated. A redacted value is stored, it is just not returned.

Tenancy: the request is scoped to one workspace, and the credential presented is what selects it. A caller with no membership in that workspace is refused with 404, which is indistinguishable from a workspace that does not exist.

Authorisation: any workspace role, including viewer. Reads are open to every member.

Access: Authorization: Bearer carrying either a realm access token or an API key. A key must hold the channels:read scope, and the workspace role of the person who owns it must meet the floor above.

Authorization

AuthorizationBearer <token>

A realm-issued access token, presented as Authorization: Bearer <token>. It acts as the person who signed in, and every operation resolves their workspace role live from the membership record.

In: header

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/v1/channels"
{  "channels": [    {      "channel": "sms",      "display_name": "Support SMS",      "adapter_available": true,      "ticket_source": "sms",      "handle_kind": "phone_number",      "outbound_supported": false,      "inbound_path": "/v1/ingest/sms",      "details": {},      "connected": true,      "enabled": true,      "config": {        "from_number": "+15550199",        "auth_token": "***"      },      "created_at": "2026-05-19T15:22:00+00:00",      "updated_at": "2026-08-14T08:10:00+00:00"    },    {      "channel": "email",      "display_name": "Email",      "adapter_available": true,      "ticket_source": "email",      "handle_kind": "email_address",      "outbound_supported": true,      "inbound_path": "/v1/ingest/email",      "details": {        "sending_domain": "mail.northwind.example",        "sending_address": "support@mail.northwind.example"      },      "connected": true,      "enabled": true,      "config": {},      "created_at": "2026-04-02T09:15:00+00:00",      "updated_at": "2026-08-01T11:40:00+00:00"    }  ]}