# Channels

**Kind**: module | **Library**: @interopio/browser | **Access**: `io.channels`

**Source**: https://docs.interop.io/browser/reference/javascript/channels/index.html

Channels are globally accessed named contexts that allow users to dynamically group apps, instructing them to work over the same shared data object.

The Channels API enables you to:

- retrieve the names and contexts of all Channels;
- retrieve the current Channel, join and leave Channels, subscribe for the event which fires when the current Channel has changed;
- publish data to other apps on the same Channel and subscribe for Channel updates to react to data published by other apps;

The Channels API is accessible via the [`io.channels`](https://docs.interop.io/browser/reference/javascript/channels/api/index.md) object.

## Interfaces

- [API](https://docs.interop.io/browser/reference/javascript/channels/api/index.md): Channels API.
- [ChannelContext](https://docs.interop.io/browser/reference/javascript/channels/channelcontext/index.md): Channel context object.
- [ChannelDefinition](https://docs.interop.io/browser/reference/javascript/channels/channeldefinition/index.md): Initial context for creating a channel runtime.
- [ChannelMeta](https://docs.interop.io/browser/reference/javascript/channels/channelmeta/index.md)
- [ChannelRestrictions](https://docs.interop.io/browser/reference/javascript/channels/channelrestrictions/index.md): Restrictions applied to a window for publishing or subscribing to a specific Channel.
- [FDC3ChannelDisplayMetadata](https://docs.interop.io/browser/reference/javascript/channels/fdc3channeldisplaymetadata/index.md): Provide display hints for FDC3 User Channels intended to be visualized and selectable by end users.
- [FDC3ChannelMeta](https://docs.interop.io/browser/reference/javascript/channels/fdc3channelmeta/index.md)
- [FDC3Context](https://docs.interop.io/browser/reference/javascript/channels/fdc3context/index.md)
- [FDC3Options](https://docs.interop.io/browser/reference/javascript/channels/fdc3options/index.md): Settings for retrieving and subscribing for FDC3 contexts published in an io.Connect Channel.
- [LeaveOptions](https://docs.interop.io/browser/reference/javascript/channels/leaveoptions/index.md): Options for leaving Channels.
- [PublishOptions](https://docs.interop.io/browser/reference/javascript/channels/publishoptions/index.md): Options for updating a Channel context with the `publish()` method.
- [Restrictions](https://docs.interop.io/browser/reference/javascript/channels/restrictions/index.md): All restrictions applied to a window for publishing or subscribing to Channels.
- [RestrictionsConfig](https://docs.interop.io/browser/reference/javascript/channels/restrictionsconfig/index.md): Restrictions applied to a window for publishing or subscribing to all Channels.
- [WindowOnChannelInfo](https://docs.interop.io/browser/reference/javascript/channels/windowonchannelinfo/index.md): Describes a window that can use Channels.
- [WindowWithChannelFilter](https://docs.interop.io/browser/reference/javascript/channels/windowwithchannelfilter/index.md): Filter for retrieving windows that can use Channels.

## Type Aliases

- [Mode](https://docs.interop.io/browser/reference/javascript/channels/mode/index.md): Channel mode. In single Channel mode, io.Connect Windows can join or leave only one Channel at a time.
