---
source_url: https://www.pubnub.com/docs/chat/chat-sdk/learn/chat-entities/membership
title: Membership object
updated_at: 2026-06-16T12:48:15.108Z
---

> 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


# Membership object

`Membership` represents a single user-channel relationship in a chat.

## Properties

`Membership` has the following properties:

```ts
class Membership {
    channel: Channel,
    user: User,
    custom: ObjectCustom,
    status?: string,
    type?: string
}
```

| Parameter | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| channel | Channel | Optional |  | [Channel object](https://www.pubnub.com/docs/chat/chat-sdk/learn/chat-entities/channel). |
| user | User | Optional |  | [User object](https://www.pubnub.com/docs/chat/chat-sdk/learn/chat-entities/user). |
| custom | ObjectCustom | Optional |  | Any custom properties or metadata associated with the channel-user membership, such as [lastReadMessageTimetoken](https://www.pubnub.com/docs/chat/chat-sdk/build/features/messages/unread). |
| status | string | Optional |  | Current status of the membership, like `active` or `inactive`. |
| type | string | Optional |  | Type of the membership, used to categorize the user-channel relationship. |

:::tip API limits
To learn about the maximum length of parameters used to set channel membership metadata, refer to [REST API docs](https://www.pubnub.com/docs/sdks/rest-api/set-membership-metadata).
:::

## Methods

Available methods:

### Regular methods

* [delete()](https://www.pubnub.com/docs/chat/chat-sdk/build/features/channels/membership#delete-membership)
* [getUnreadMessagesCount()](https://www.pubnub.com/docs/chat/chat-sdk/build/features/messages/unread#get-unread-messages-count-one-channel)
* [(getter) lastReadMessageTimetoken](https://www.pubnub.com/docs/chat/chat-sdk/build/features/messages/unread#get-last-read-message)
* [setLastReadMessage()](https://www.pubnub.com/docs/chat/chat-sdk/build/features/messages/unread#mark-messages-as-read-one-channel)
* [setLastReadMessageTimetoken()](https://www.pubnub.com/docs/chat/chat-sdk/build/features/messages/unread#mark-messages-as-read-one-channel)
* [update()](https://www.pubnub.com/docs/chat/chat-sdk/build/features/channels/membership#update)

### Event listeners

* [onDeleted()](https://www.pubnub.com/docs/chat/chat-sdk/build/features/channels/membership#get-updates)
* [onUpdated()](https://www.pubnub.com/docs/chat/chat-sdk/build/features/channels/membership#get-updates)
* streamUpdates() (deprecated)
* [(static) streamUpdatesOn()](https://www.pubnub.com/docs/chat/chat-sdk/build/features/channels/membership#get-updates)

## Use case

`Membership` methods enable:

* [Updating](https://www.pubnub.com/docs/chat/chat-sdk/build/features/channels/membership#update) user-channel relationships and [getting updates](https://www.pubnub.com/docs/chat/chat-sdk/build/features/channels/membership#get-updates) on changes
* Tracking the [last message read](https://www.pubnub.com/docs/chat/chat-sdk/build/features/messages/unread#mark-messages-as-read-one-channel) by a user on a channel
* Getting the count of [unread messages](https://www.pubnub.com/docs/chat/chat-sdk/build/features/messages/unread#get-unread-messages-count-one-channel) for a user