# `Twilio.Conversations.V1.Conversation.ParticipantService`
[🔗](https://github.com/jeffhuen/twilio_elixir/blob/main/lib/twilio/conversations/v1/conversation/participant_service.ex#L2)

A Participant resource represents a member of the conversation.

Operations: `list`, `create`, `fetch`, `update`, `delete`

# `create`

```elixir
@spec create(Twilio.Client.t(), String.t(), map(), keyword()) ::
  {:ok, Twilio.Resources.Conversations.V1.Conversation.Participant.t()}
  | {:ok, map(), map()}
  | :ok
  | {:error, Twilio.Error.t()}
```

Add a new participant to the conversation

Operation: `CreateConversationParticipant` | Tags: ConversationsV1Participant

## Optional Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `Attributes` | string | An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified.  **Note** that if the attributes are not set "{}" will be returned. |
| `DateCreated` | string (date-time) | The date that this resource was created. |
| `DateUpdated` | string (date-time) | The date that this resource was last updated. |
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `Identity` | string | A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversations SDK to communicate. Limited to 256 characters. |
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `MessagingBinding.Address` | string | The address of the participant's device, e.g. a phone or WhatsApp number. Together with the Proxy address, this determines a participant uniquely. This field (with proxy_address) is only null when the participant is interacting from an SDK endpoint (see the 'identity' field). |
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `MessagingBinding.ProjectedAddress` | string | The address of the Twilio phone number that is used in Group MMS. Communication mask for the Conversation participant with Identity. |
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `MessagingBinding.ProxyAddress` | string | The address of the Twilio phone number (or WhatsApp number) that the participant is in contact with. This field, together with participant address, is only null when the participant is interacting from an SDK endpoint (see the 'identity' field). |
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `RoleSid` | string | The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the participant. |

# `delete`

```elixir
@spec delete(Twilio.Client.t(), String.t(), String.t(), keyword()) ::
  {:ok, map()} | {:ok, map(), map()} | :ok | {:error, Twilio.Error.t()}
```

Remove a participant from the conversation

Operation: `DeleteConversationParticipant` | Tags: ConversationsV1Participant

# `fetch`

```elixir
@spec fetch(Twilio.Client.t(), String.t(), String.t(), keyword()) ::
  {:ok, Twilio.Resources.Conversations.V1.Conversation.Participant.t()}
  | {:ok, map(), map()}
  | :ok
  | {:error, Twilio.Error.t()}
```

Fetch a participant of the conversation

Operation: `FetchConversationParticipant` | Tags: ConversationsV1Participant

# `list`

```elixir
@spec list(Twilio.Client.t(), String.t(), map(), keyword()) ::
  {:ok, Twilio.Page.t()}
  | {:ok, map(), map()}
  | :ok
  | {:error, Twilio.Error.t()}
```

Retrieve a list of all participants of the conversation

Operation: `ListConversationParticipant` | Tags: ConversationsV1Participant

# `stream`

```elixir
@spec stream(Twilio.Client.t(), String.t(), map(), keyword()) :: Enumerable.t()
```

Stream: Retrieve a list of all participants of the conversation (lazy auto-pagination).

# `update`

```elixir
@spec update(Twilio.Client.t(), String.t(), String.t(), map(), keyword()) ::
  {:ok, Twilio.Resources.Conversations.V1.Conversation.Participant.t()}
  | {:ok, map(), map()}
  | :ok
  | {:error, Twilio.Error.t()}
```

Update an existing participant in the conversation

Operation: `UpdateConversationParticipant` | Tags: ConversationsV1Participant

## Optional Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `Attributes` | string | An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified.  **Note** that if the attributes are not set "{}" will be returned. |
| `DateCreated` | string (date-time) | The date that this resource was created. |
| `DateUpdated` | string (date-time) | The date that this resource was last updated. |
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `Identity` | string | A unique string identifier for the conversation participant as [Conversation User](https://www.twilio.com/docs/conversations/api/user-resource). This parameter is non-null if (and only if) the participant is using the Conversations SDK to communicate. Limited to 256 characters. |
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `LastReadMessageIndex` | integer | Index of last “read” message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant. |
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `LastReadTimestamp` | string | Timestamp of last “read” message in the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for the Participant. |
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `MessagingBinding.ProjectedAddress` | string | The address of the Twilio phone number that is used in Group MMS. 'null' value will remove it. |
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `MessagingBinding.ProxyAddress` | string | The address of the Twilio phone number that the participant is in contact with. 'null' value will remove it. |
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `RoleSid` | string | The SID of a conversation-level [Role](https://www.twilio.com/docs/conversations/api/role-resource) to assign to the participant. |

---

*Consult [api-reference.md](api-reference.md) for complete listing*
