ExStreamClient.Operations.Moderation (ExStreamClient v0.1.3)
View SourceModules for interacting with the moderation
group of Stream APIs
API Reference: https://getstream.github.io/protocol/?urls.primaryName=Chat%20v2
Summary
Functions
Ban a user from a channel or the entire app
Moderate multiple images in bulk using a CSV file
Run moderation checks on the provided content
Custom check, add your own AI model reports to the review queue
Delete a specific moderation policy by its name
Flag any type of content (messages, users, channels, activities) for moderation review. Supports custom content types and additional metadata for flagged content.
Retrieve a specific moderation configuration by its key and team. This configuration contains settings for various moderation features like toxicity detection, AI analysis, and filtering rules.
Retrieve a specific review queue item by its ID
Mute a user. Mutes are generally not visible to the user you mute, while block is something you notice.
Search and filter moderation configurations across your application. This endpoint is designed for building moderation dashboards and managing multiple configuration sets.
Query flags associated with moderation items. This is used for building a moderation dashboard.
Search and filter moderation action logs with support for pagination. View the history of moderation actions taken, including who performed them and when.
Query review queue items allows you to filter the review queue items. This is used for building a moderation dashboard.
Take action on flagged content, such as marking content as safe, deleting content, banning users, or executing custom moderation actions. Supports various action types with configurable parameters.
Unban a user from a channel or globally.
Unmute a user
Create a new moderation configuration or update an existing one. Configure settings for content filtering, AI analysis, toxicity detection, and other moderation features.
Delete a specific moderation template by its name
Retrieve a list of feed moderation templates that define preset moderation rules and configurations. Limited to 100 templates per request.
Upsert feeds template for moderation
Functions
@spec ban(ExStreamClient.Model.BanRequest.t(), [{:client, module()}]) :: {:ok, ExStreamClient.Model.BanResponse.t()} | {:error, any()}
Ban a user from a channel or the entire app
Required Arguments:
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec bulk_image_moderation( ExStreamClient.Model.BulkImageModerationRequest.t(), [{:client, module()}] ) :: {:ok, ExStreamClient.Model.BulkImageModerationResponse.t()} | {:error, any()}
Moderate multiple images in bulk using a CSV file
Required Arguments:
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec check(ExStreamClient.Model.CheckRequest.t(), [{:client, module()}]) :: {:ok, ExStreamClient.Model.CheckResponse.t()} | {:error, any()}
Run moderation checks on the provided content
Required Arguments:
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec custom_check(ExStreamClient.Model.CustomCheckRequest.t(), [{:client, module()}]) :: {:ok, ExStreamClient.Model.CustomCheckResponse.t()} | {:error, any()}
Custom check, add your own AI model reports to the review queue
Required Arguments:
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec delete_config(String.t(), client: module(), team: String.t()) :: {:ok, ExStreamClient.Model.DeleteModerationConfigResponse.t()} | {:error, any()}
Delete a specific moderation policy by its name
Required Arguments:
key
Optional Arguments:
team
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec flag(ExStreamClient.Model.FlagRequest.t(), [{:client, module()}]) :: {:ok, ExStreamClient.Model.FlagResponse.t()} | {:error, any()}
Flag any type of content (messages, users, channels, activities) for moderation review. Supports custom content types and additional metadata for flagged content.
Required Arguments:
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec get_config(String.t(), client: module(), team: String.t()) :: {:ok, ExStreamClient.Model.GetConfigResponse.t()} | {:error, any()}
Retrieve a specific moderation configuration by its key and team. This configuration contains settings for various moderation features like toxicity detection, AI analysis, and filtering rules.
Required Arguments:
key
Optional Arguments:
team
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec get_review_queue_item(String.t(), [{:client, module()}]) :: {:ok, ExStreamClient.Model.GetReviewQueueItemResponse.t()} | {:error, any()}
Retrieve a specific review queue item by its ID
Required Arguments:
id
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec mute(ExStreamClient.Model.MuteRequest.t(), [{:client, module()}]) :: {:ok, ExStreamClient.Model.MuteResponse.t()} | {:error, any()}
Mute a user. Mutes are generally not visible to the user you mute, while block is something you notice.
Required Arguments:
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec query_moderation_configs( ExStreamClient.Model.QueryModerationConfigsRequest.t(), [{:client, module()}] ) :: {:ok, ExStreamClient.Model.QueryModerationConfigsResponse.t()} | {:error, any()}
Search and filter moderation configurations across your application. This endpoint is designed for building moderation dashboards and managing multiple configuration sets.
Required Arguments:
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec query_moderation_flags( ExStreamClient.Model.QueryModerationFlagsRequest.t(), [{:client, module()}] ) :: {:ok, ExStreamClient.Model.QueryModerationFlagsResponse.t()} | {:error, any()}
Query flags associated with moderation items. This is used for building a moderation dashboard.
Required Arguments:
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec query_moderation_logs( ExStreamClient.Model.QueryModerationLogsRequest.t(), [{:client, module()}] ) :: {:ok, ExStreamClient.Model.QueryModerationLogsResponse.t()} | {:error, any()}
Search and filter moderation action logs with support for pagination. View the history of moderation actions taken, including who performed them and when.
Required Arguments:
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec query_review_queue(ExStreamClient.Model.QueryReviewQueueRequest.t(), [ {:client, module()} ]) :: {:ok, ExStreamClient.Model.QueryReviewQueueResponse.t()} | {:error, any()}
Query review queue items allows you to filter the review queue items. This is used for building a moderation dashboard.
Required Arguments:
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec submit_action(ExStreamClient.Model.SubmitActionRequest.t(), [ {:client, module()} ]) :: {:ok, ExStreamClient.Model.SubmitActionResponse.t()} | {:error, any()}
Take action on flagged content, such as marking content as safe, deleting content, banning users, or executing custom moderation actions. Supports various action types with configurable parameters.
Required Arguments:
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec unban(String.t(), ExStreamClient.Model.UnbanRequest.t(), client: module(), created_by: String.t(), channel_cid: String.t() ) :: {:ok, ExStreamClient.Model.UnbanResponse.t()} | {:error, any()}
Unban a user from a channel or globally.
Required Arguments:
target_user_id
payload
:Elixir.ExStreamClient.Model.UnbanRequest
Optional Arguments:
channel_cid
created_by
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec unmute(ExStreamClient.Model.UnmuteRequest.t(), [{:client, module()}]) :: {:ok, ExStreamClient.Model.UnmuteResponse.t()} | {:error, any()}
Unmute a user
Required Arguments:
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec upsert_config(ExStreamClient.Model.UpsertConfigRequest.t(), [ {:client, module()} ]) :: {:ok, ExStreamClient.Model.UpsertConfigResponse.t()} | {:error, any()}
Create a new moderation configuration or update an existing one. Configure settings for content filtering, AI analysis, toxicity detection, and other moderation features.
Required Arguments:
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec v2_delete_template([{:client, module()}]) :: {:ok, ExStreamClient.Model.DeleteModerationTemplateResponse.t()} | {:error, any()}
Delete a specific moderation template by its name
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec v2_query_templates([{:client, module()}]) :: {:ok, ExStreamClient.Model.QueryFeedModerationTemplatesResponse.t()} | {:error, any()}
Retrieve a list of feed moderation templates that define preset moderation rules and configurations. Limited to 100 templates per request.
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)
@spec v2_upsert_template( ExStreamClient.Model.UpsertModerationTemplateRequest.t(), [{:client, module()}] ) :: {:ok, ExStreamClient.Model.UpsertModerationTemplateResponse.t()} | {:error, any()}
Upsert feeds template for moderation
Required Arguments:
Optional Arguments:
client
: HTTP client to use. Must implementExStreamClient.Http.Behavior
(e.g.,ExStreamClient.Http
)