---
source_url: https://www.pubnub.com/docs/general/entities
title: Entities
updated_at: 2026-05-19T06:04:17.127Z
---

> Documentation Index
> For a curated overview of PubNub documentation, see: https://www.pubnub.com/docs/llms.txt
> For the full list of all documentation pages, see: https://www.pubnub.com/docs/llms-full.txt


# Entities

Entities are SDK objects that simplify PubNub APIs. Each entity gives you simple methods for channels, users, and metadata. This design helps you build real-time features fast.

Entities empower you to build sophisticated real-time features with less code.

:::warning Entity-enabled SDKs
Entities are supported in select SDKs. See your SDK’s [API docs](https://www.pubnub.com/docs/sdks) for details.
:::

## Entity types

Each server-side object has a matching SDK entity. Use these entities to run operations:

| Entity | Provides operations on |
| --- | --- |
| [Channel](#channel-entity) | [Channels](https://www.pubnub.com/docs/general/channels/overview) |
| [ChannelGroup](#channelgroup-entity) | [Channel groups](https://www.pubnub.com/docs/general/channels/subscribe#channel-groups) |
| [UserMetadata](#usermetadata-entity) | [User metadata](https://www.pubnub.com/docs/general/metadata/users-metadata) |
| [ChannelMetadata](#channelmetadata-entity) | [Channel metadata](https://www.pubnub.com/docs/general/metadata/channel-metadata) |

### Create entities

Each SDK provides methods to create a specific entity. Create a `Channel` entity, a `ChannelGroup` entity, a `UserMetadata` entity, or a `ChannelMetadata` entity. For SDK-specific details, see the API docs for your platform (for example, [JavaScript](https://www.pubnub.com/docs/sdks/javascript/api-reference/publish-and-subscribe#entities)).

## Entities and subscriptions

PubNub provides several sources of real-time updates. Entities are one of them.

Entities let you subscribe to that entity’s updates. Update types vary by entity. For more information, see [Subscriptions](https://www.pubnub.com/docs/general/channels/subscribe).

## Channel entity

The `Channel` entity manages PubNub [channels](https://www.pubnub.com/docs/general/channels/overview).

| Supported operation | Description |
| --- | --- |
| `subscription(subscriptionOptions)` | Returns a local [subscription object](https://www.pubnub.com/docs/general/channels/subscribe#subscription-types) with [optional parameters](https://www.pubnub.com/docs/general/channels/subscribe#subscription-options). Subscribe to get real-time updates. |
| `publish(message, shouldStore, meta, queryParam, usePost, ttl, customMessageType)` [Java](https://www.pubnub.com/docs/sdks/java) and [Kotlin](https://www.pubnub.com/docs/sdks/kotlin) SDKs only | Publishes a message to a channel. |
| `fire(message, meta, usePost)` [Java](https://www.pubnub.com/docs/sdks/java) and [Kotlin](https://www.pubnub.com/docs/sdks/kotlin) SDKs only | Sends a message to [Illuminate](https://www.pubnub.com/docs/illuminate/business-objects/external-data-sources) and [Functions](https://www.pubnub.com/docs/serverless/functions/overview#on-request-functions) event handlers registered on the channel and triggers their execution. |
| `signal(message, meta, usePost)` [Java](https://www.pubnub.com/docs/sdks/java) and [Kotlin](https://www.pubnub.com/docs/sdks/kotlin) SDKs only | Sends a signal to all subscribers of a channel. |

For SDK-specific details, see the API docs for your platform (for example, [JavaScript](https://www.pubnub.com/docs/sdks/javascript/api-reference/publish-and-subscribe)).

## ChannelGroup entity

The `ChannelGroup` entity provides operations performed on PubNub [channel groups](https://www.pubnub.com/docs/general/channels/subscribe#channel-groups). A channel group is a set of channels. Use it for bulk actions, simple hierarchies, and easier access control that scales.

| Supported operation | Description |
| --- | --- |
| `subscription(subscriptionOptions)` | Returns a local [subscription object](https://www.pubnub.com/docs/general/channels/subscribe#subscription-types) with [optional parameters](https://www.pubnub.com/docs/general/channels/subscribe#subscription-options). Subscribe to get real-time updates. |

For SDK-specific details, see the API docs for your platform (for example, [JavaScript](https://www.pubnub.com/docs/sdks/javascript/api-reference/publish-and-subscribe)).

###### Get more from ChannelGroup with server-side management

The `ChannelGroup` entity provides subscription access to a persisted list of channels that your server manages. Adding or removing channels from a group automatically updates all subscribed clients without requiring them to resubscribe. For group management operations, naming rules, and limits, see [Channel groups](https://www.pubnub.com/docs/general/channels/subscribe#channel-groups).

## UserMetadata entity

The `UserMetadata` entity lets you work with App Context [user metadata](https://www.pubnub.com/docs/general/metadata/users-metadata).

| Supported operation | Description |
| --- | --- |
| `subscription(subscriptionOptions)` | Returns a local [subscription object](https://www.pubnub.com/docs/general/channels/subscribe#subscription-types) with [optional parameters](https://www.pubnub.com/docs/general/channels/subscribe#subscription-options). Subscribe to get real-time updates. |

For SDK-specific details, see the API docs for your platform (for example, [JavaScript](https://www.pubnub.com/docs/sdks/javascript/api-reference/publish-and-subscribe)).

## ChannelMetadata entity

The `ChannelMetadata` entity lets you work with App Context [channel metadata](https://www.pubnub.com/docs/general/metadata/channel-metadata).

| Supported operation | Description |
| --- | --- |
| `subscription(subscriptionOptions)` | Returns a local [subscription object](https://www.pubnub.com/docs/general/channels/subscribe#subscription-types) with [optional parameters](https://www.pubnub.com/docs/general/channels/subscribe#subscription-options). Subscribe to get real-time updates. |

For SDK-specific details, see the API docs for your platform (for example, [JavaScript](https://www.pubnub.com/docs/sdks/javascript/api-reference/publish-and-subscribe)).

## Terms in this document

* **Entity** - A subscribable object within a PubNub SDK that allows you to perform context-specific operations.
* **Signal** - A non-persistent message limited to 64 bytes designed for high-volume usecases where the the most recent data is relevant, like GPS location updates.
