# `Twilio.Video.V1.Room.Participant.SubscribeRulesService`
[🔗](https://github.com/jeffhuen/twilio_elixir/blob/main/lib/twilio/video/v1/room/participant/subscribe_rules_service.ex#L2)

Service for SubscribeRules API operations.

Operations: `list`, `create`

# `create`

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

Update the Subscribe Rules for the Participant

Operation: `UpdateRoomParticipantSubscribeRule` | Tags: VideoV1SubscribeRules

## Optional Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
| `Rules` | string | A JSON-encoded array of subscribe rules. See the [Specifying Subscribe Rules](https://www.twilio.com/docs/video/api/track-subscriptions#specifying-sr) section for further information. |

# `list`

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

Returns a list of Subscribe Rules for the Participant.

Operation: `FetchRoomParticipantSubscribeRule` | Tags: VideoV1SubscribeRules

# `stream`

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

Stream: Returns a list of Subscribe Rules for the Participant. (lazy auto-pagination).

---

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