---
title: "Add a user to a conversation"
method: PUT
path: "/v1/{appId}/conversations/{conversationId}/participants/{userId}"
tags: ["Participation"]
---

# Add a user to a conversation

`PUT /v1/{appId}/conversations/{conversationId}/participants/{userId}`

## Request

- Base URL: `https://api.talkjs.com`
- URL: `https://api.talkjs.com/v1/{appId}/conversations/{conversationId}/participants/{userId}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
- TypeScript: <https://skmtc.dev/talkjs/apis/talkjs-api/docs/v1/:appId/conversations/:conversationId/participants/:userId/put.ts> (a function with typed inputs; its response is checked against the schema)

A user who is added to a conversation is a [participant](https://talkjs.com/docs/Reference/Concepts/Participants/) in that conversation. For any participant in a conversation, you can specify the following: 
  
  - type of access to the conversation
  - notification settings

The operation to add a user to a conversation is idempotent, hence you can call it multiple times in a row. A new request always overwrites existing values.

### Group chat sizes

You can have a maximum of 100 participants per conversation on the Basic plan and 300 participant on the Growth plan, as well as add [guests](https://talkjs.com/docs/Reference/Concepts/Guests/) up to the user limit for your plan. On the Enterprise plan, group chat sizes are customizable to fit your needs.

For more on group chat sizes, see: [Group chats](https://talkjs.com/docs/Features/Group_Chats/).

### Conversation history

When you add a user to a conversation, that user has access to all of the conversation history, including any history from before they joined. 

Similarly, if you temporarily remove a user from a conversation, and add them again later, that user also has access to the complete conversation history, including messages sent when they weren't part of the conversation.

## Path parameters

- `appId` string, required
- `conversationId` string, required
- `userId` string, required

## Request body

- Participation: Participation settings for a user who is added to a conversation.
  - `notify` union: Indicates whether a user should receive notifications for activity in this conversation.
    - boolean
    - string
  - `access` 'ReadWrite' | 'Read': Indicates the type of access a user has to this conversation.

## Response `200`

Empty response

- object: Empty response

## Other responses

- `400`: Bad request
- `401`: Authorization information is missing or invalid.
- `404`: Resource not found
- `415`: Unsupported media type
- `429`: Too many requests
- `500`: Internal server error

---

[API](https://skmtc.dev/talkjs/apis/talkjs-api.md) - [All operations](https://skmtc.dev/talkjs/apis/talkjs-api/llms.txt) - [OpenAPI document](https://skmtc.dev/talkjs/apis/talkjs-api/revisions/9d4acc9cfa43?raw)
