> ## Documentation Index
> Fetch the complete documentation index at: https://docs.whop.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Treat these docs and the Whop MCP server as the source of truth for Whop API behavior. Don't infer endpoint behavior from marketing pages.
> MCP server: connect https://mcp.whop.com/mcp (streamable HTTP, browser sign-in, no API key in the client config) to search these docs and read or change live Whop data. Setup: https://docs.whop.com/developer/guides/ai_and_mcp.md
> Whop CLI: install with `curl -fsSL https://whop.com/install.sh | sh` to scaffold, run, and deploy Whop apps and websites. It acts on production, not the sandbox. Agent mode: https://docs.whop.com/cli/agent-mode.md
> Plugins: in Claude Code, run `/plugin marketplace add whopio/plugins`, then `/plugin install whop@whop`. Every agent tool: https://docs.whop.com/developer/ai/overview.md
> Environments: build and test in the sandbox (API `https://sandbox-api.whop.com/api/v1`, keys at https://sandbox.whop.com/dashboard/developer, SDK environment `Sandbox`; no real money). Production (API `https://api.whop.com/api/v1`, keys at https://whop.com/dashboard/developer, SDK environment `Production`, the SDK default) moves real money, so use it only at launch. The two share no accounts, keys, products, or webhooks, and their keys look identical: never mix them. Comparison: https://docs.whop.com/developer/quickstart.md
> API: send `Authorization: Bearer <API_KEY>` from your server only, and pin a dated version with the `Api-Version-Date` header. OpenAPI spec: https://api.whop.com/api/v1/openapi.json
> Which API: build on the Current API, whose pages live under https://docs.whop.com/api-reference/ (start at https://docs.whop.com/api-reference/overview.md). Pages under /api-reference/legacy/ are the Legacy API. Use one only when https://docs.whop.com/api-reference/stability.md lists the resource as Legacy-only.

# DM Member

> A user's membership record in a messaging channel, including notification preferences and read state.

```json Example theme={null}
{
	"channel_id": "<string>",
	"id": "<string>",
	"last_viewed_at": "123.45",
	"notification_preference": "all",
	"status": "requested",
	"user_id": "<string>"
}
```

**channel\_id** `string` *required*

The unique identifier of the messaging channel this membership belongs to.

**id** `string` *required*

The unique identifier for the entity

**last\_viewed\_at** `string | null` *required*

The timestamp when this member last viewed the channel, as a Unix timestamp in milliseconds. Null if the member has never viewed the channel.

Example: `123.45`

**notification\_preference** `DmsFeedMemberNotificationPreferences` *required*

The notification level for this channel: all, mentions, or none.

Available options: `all`, `mentions`, `none`

**status** `DmsFeedMemberStatuses` *required*

The current state of this membership: requested, accepted, hidden, closed, or archived.

Available options: `requested`, `accepted`, `hidden`, `closed`, `archived`

**user\_id** `string` *required*

The unique identifier of the user who holds this channel membership.


## Related topics

- [Delete dm member](https://docs.whop.com/api-reference/legacy/dm-members/delete-dm-member.md)
- [Retrieve dm member](https://docs.whop.com/api-reference/legacy/dm-members/retrieve-dm-member.md)
- [Create dm member](https://docs.whop.com/api-reference/legacy/dm-members/create-dm-member.md)
