ExStreamClient.Operations.Moderation (ExStreamClient v0.1.6)

View Source

Modules for interacting with the moderation group of Stream APIs

API Reference: https://getstream.github.io/protocol/?urls.primaryName=Chat%20v2

Shared options

All functions in this module accept the following optional parameters:

  • api_key - API key to use. If not provided, the default key from config will be used
  • api_key_secret - API key secret to use. If not provided, the default secret from config will be used
  • endpoint - endpoint to use. If not provided, the default endpoint from config will be used
  • client - HTTP client to use. Must implement ExStreamClient.Http.Behavior. Defaults to ExStreamClient.Http
  • req_opts - all of these options will be forwarded to req. See Req.new/1 for available options

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.

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

ban(payload, opts \\ [])

Ban a user from a channel or the entire app

Required Arguments:

All options from Shared Options are supported.

bulk_image_moderation(payload, opts \\ [])

Moderate multiple images in bulk using a CSV file

Required Arguments:

All options from Shared Options are supported.

check(payload, opts \\ [])

Run moderation checks on the provided content

Required Arguments:

All options from Shared Options are supported.

custom_check(payload, opts \\ [])

Custom check, add your own AI model reports to the review queue

Required Arguments:

All options from Shared Options are supported.

delete_config(key, opts \\ [])

@spec delete_config(String.t(),
  req_opts: keyword(),
  client: module(),
  endpoint: String.t(),
  api_key: String.t(),
  api_key_secret: String.t(),
  team: String.t()
) ::
  {:ok, ExStreamClient.Model.DeleteModerationConfigResponse.t()}
  | {:error, any()}

Delete a specific moderation policy by its name

Required Arguments:

  • key

Optional Arguments:

  • team

All options from Shared Options are supported.

flag(payload, opts \\ [])

Flag any type of content (messages, users, channels, activities) for moderation review. Supports custom content types and additional metadata for flagged content.

Required Arguments:

All options from Shared Options are supported.

get_config(key, opts \\ [])

@spec get_config(String.t(),
  req_opts: keyword(),
  client: module(),
  endpoint: String.t(),
  api_key: String.t(),
  api_key_secret: String.t(),
  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

All options from Shared Options are supported.

get_review_queue_item(id, opts \\ [])

Retrieve a specific review queue item by its ID

Required Arguments:

  • id

All options from Shared Options are supported.

mute(payload, opts \\ [])

Mute a user. Mutes are generally not visible to the user you mute, while block is something you notice.

Required Arguments:

All options from Shared Options are supported.

query_moderation_configs(payload, opts \\ [])

Search and filter moderation configurations across your application. This endpoint is designed for building moderation dashboards and managing multiple configuration sets.

Required Arguments:

All options from Shared Options are supported.

query_moderation_flags(payload, opts \\ [])

Query flags associated with moderation items. This is used for building a moderation dashboard.

Required Arguments:

All options from Shared Options are supported.

query_moderation_logs(payload, opts \\ [])

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:

All options from Shared Options are supported.

query_review_queue(payload, opts \\ [])

Query review queue items allows you to filter the review queue items. This is used for building a moderation dashboard.

Required Arguments:

All options from Shared Options are supported.

submit_action(payload, opts \\ [])

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:

All options from Shared Options are supported.

unban(target_user_id, payload, opts \\ [])

@spec unban(String.t(), ExStreamClient.Model.UnbanRequest.t(),
  req_opts: keyword(),
  client: module(),
  endpoint: String.t(),
  api_key: String.t(),
  api_key_secret: String.t(),
  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:

Optional Arguments:

  • channel_cid
  • created_by

All options from Shared Options are supported.

unmute(payload, opts \\ [])

Unmute a user

Required Arguments:

All options from Shared Options are supported.

upsert_config(payload, opts \\ [])

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:

All options from Shared Options are supported.

v2_delete_template(opts \\ [])

Delete a specific moderation template by its name

All options from Shared Options are supported.

v2_query_templates(opts \\ [])

Retrieve a list of feed moderation templates that define preset moderation rules and configurations. Limited to 100 templates per request.

All options from Shared Options are supported.

v2_upsert_template(payload, opts \\ [])

Upsert feeds template for moderation

Required Arguments:

All options from Shared Options are supported.